我有一个 ApiController
类,其中有 10 个公共(public)方法。
在这 10 个方法中,有 9 个需要 [Authorize(Roles="Admin")]
。不需要的,不需要任何授权。
如果不是那个不需要授权的单一方法,我会用 [Authorize(Roles="Admin")]
装饰 ApiController
类.
我不是在类级别,而是用相同的 [Authorize(Roles="Admin")]
装饰所有九个方法,而不是用 [Authorize (...)]
.
我不喜欢的是我必须重复相同的 [Authorize(Roles="Admin")]
九次。
有没有一种方法可以让我仍然用 [Authorize(Roles="Admin")]
装饰类,并且只装饰不应该有 [Authorize 的单一方法(Roles="Admin")]
的属性表示“不要为此特定方法应用类级操作过滤器”?
最佳答案
您可以使用 [AllowAnonymous]属性。例如,当网站处于预览状态时,我在登录操作上完成了此操作,因此任何人都可以看到登录页面,但在登录之前没有人可以看到网站的其余部分。对于客户来说,这是一个简单的解决方法:-)
事实上,我什至写了一个从数据库中读取设置的自定义属性,这样我就可以将网站置于“锁定”状态,如果你明白我的意思的话。
关于c# - 方法是否选择退出类级别的 AuthorizeAttribute?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30353368/