AllowAnonymous和OverrideAuthorizeAttribute的用法有什么区别。 它是一样的吗?AllowAnonymous与OverrideAuthorizeAttribute
1
A
回答
1
OverrideAuthorizeAttribute描述了一种属性,根据任何开发人员的实现(不在任何.NET框架版本中提供)覆盖AuthorizeAttribute的当前功能。
AllowAnonymousAttribute由.NET提供,以.NET团队定义的方式覆盖AuthorizeAttribute功能。 (它在.NET框架中提供)。
1
http://www.asp.net/web-api/overview/security/authentication-and-authorization-in-aspnet-web-api
两者是不同的,但可以在某些情况下相同的效果。 认证是验证用户的过程。覆盖将在下一个最高级别的作用域中禁用覆盖类型的筛选器。授权是确定用户是否应该访问特定资源的过程。 [AllowAnonymous]属性禁用身份验证,以便Web API将在对使用此属性修饰的控制器的访问请求期间跳过身份验证和授权,或跳转到使用此属性修饰的特定操作方法。从链接
[Authorize]
public class ValuesController : ApiController
{
[AllowAnonymous]
public HttpResponseMessage Get() { ... }
public HttpResponseMessage Post() { ... }
}
在上面的示例授权用户(任何识别的用户)中列出的物品考虑以下控制器类具有访问该信息的动作的方法,但需要用于获取动作方法没有授权。
授权将对资源的访问限制为属于那些用户或已授予访问权限的用户角色的用户。 [OverrideAuthorization]属性禁用[Authorization]步骤,以便任何经过身份验证的用户都可以访问操作方法。这可以从下面的文章中看到。
考虑下面的控制器类:
[Authorize(Roles="Admins")]
public class SomeController : ApiController {
[OverrideAuthorization]
[Authorize(Roles="Users")]
public IEnumerable<SomeModel> Get() {...}
public SomeModel Post() {...}
}
在上述例子中,用户必须被认证和具有prinicple访问任何由控制器定义的动作的方法。但是,只有具有“管理员”角色的原则才能访问Post操作方法,而用户角色中的任何经过身份验证的用户都可以访问Get操作方法。
相关问题
- 1. 有条件使用AllowAnonymous
- 2. Double Edit ActionResult with [AllowAnonymous] and [Authorize]
- 3. 使用AllowAnonymous属性使授权忽略
- 4. AllowAnonymous属性不工作MVC 5
- 5. MVC 5表单不会发布到[AllowAnonymous]方法
- 6. ASP.NET Identity2 - 如何使用AllowAnonymous控制器获取用户ID?
- 7. AllowAnonymous属性被IdentityServer身份验证覆盖.Net核心
- 8. MVC 5所有的请求被路由尽管使用AllowAnonymous
- 9. owin自主机使用Windows身份验证 - 使用AllowAnonymous不工作
- 10. IIS 10.0 - 一个应用程序文件夹的AllowAnonymous(控制器不起作用)
- 11. ASP.net MVC 4全球授权过滤器强制登录的AllowAnonymous行动
- 12. OpenGL:isampler2DArray与sampler2DArray与sampler3DArray
- 13. PdfpTable与表(与SimpleTable?)
- 14. InsertionSort与InsertionSort与BinaryInsertionSort
- 15. MySQL与PostgreSQL与SSRS
- 16. SortedList与SortedDictionary与Sort()
- 17. JFileChooser与JDialog与FileDialog
- 18. H264与RTP与Facetime
- 19. 与结构与golang
- 20. DataServiceKey与DataKeyProperty与DataServiceEntity
- 21. 休眠与Tomcat与休眠与JBoss
- 22. MD与乳胶到HTML与MathJax与Pandoc
- 23. 与fgets与标准::与fgets - 线由与fgets
- 24. ARKit与ARCore与Vuforia与D'Fusion Mobile与Layar SDK的对比
- 25. 宣言与原型与符号与定义与实现
- 26. 与
- 27. 与
- 28. 与
- 29. 与
- 30. 与