让方法选择退出类级别的AuthorizeAttribute

本文关键字:AuthorizeAttribute 方法 选择 退出 | 更新日期: 2023-09-27 17:50:11

我有一个ApiController类,其中有10个公共方法。

在这10种方法中,有9种需要[Authorize(Roles="Admin")]。不需要的,不需要任何授权。

如果不是那一个不需要授权的方法,我会用[Authorize(Roles="Admin")]来装饰ApiController类。

不是在类级别,我用相同的[Authorize(Roles="Admin")]装饰所有九个方法,而不是用[Authorize(...)]装饰单个方法。

我不喜欢的是我必须重复9次相同的[Authorize(Roles="Admin")]

是否有一种方法,我可以代替仍然用[Authorize(Roles="Admin")]装饰类,并且只装饰不应该有[Authorize(Roles="Admin")]的单个方法,其属性意味着"不要为此特定方法应用类级操作过滤器"?

让方法选择退出类级别的AuthorizeAttribute

您可以使用[AllowAnonymous]属性。例如,当一个网站处于预览状态时,我在登录操作上做过这样的操作,这样任何人都可以看到登录页面,但是没有人可以看到网站的其他部分,直到他们登录。这是一个简单的解决方案,为客户端:-)

事实上,我甚至写了一个自定义属性,从数据库读取设置,所以我可以把网站设置为"锁定",如果你明白我的意思。

相关文章:
  • 没有找到相关文章