c# - 方法是否选择退出类级别的 AuthorizeAttribute?

标签 c# .net asp.net-mvc asp.net-web-api

我有一个 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/

相关文章:

MySQL 选择响应大小 .NET

c# - Asp.Net Core 中的本地化

c# - C#中用于非对称加密的免费dll

c# - 使用 BeginInvoke 调试异常

.net - Visual Studio 2005 和 2008 之间的差异

c# - 带有依赖注入(inject)的 Telerik Reporting ObjectDataSource

c# - 测试 Convert.ChangeType 是否可以在两种类型之间工作

c# - 将 URI 路径转换为 ​​.NET 中的相对文件系统路径

asp.net-mvc - 如何在ASP.NET MVC中创建旋转广告 block ?

c# - ASP.NET 5 Web Api 基于 token 的身份验证