如何使用asp.net-web-api实现授权?asp.net-mvc授权和asp.net-web-api授权有多少区别?
发布于 2012-12-25 16:59:28
在MVC中,您可以简单地将[Authorize]
添加到控制器方法或类之上,以控制受保护的页面。或者为了防止伪造,你可以在两个视图中使用[ValidateAntiForgeryToken]
,controller.It将使用MachineKeys来评估相关用户。MVC和Asp.net平台之间没有区别。但MVC平台与Web页面之间存在一些差异。您也可以使用employ Authorization in the Web.config file。
Asp.net MVC中的
1- Role-Based Authorization
2- User-Based Authorization
发布于 2012-12-25 18:21:17
您应该首先将授权和身份验证逻辑分开。您可以通过消息处理程序以托管不可知的方式执行身份验证,并通过操作筛选器进行授权。
查看PingYourPackage项目,它是一个示例ASP.NET Web API应用程序。您可以在那里看到basic authentication message handler。如果请求通过身份验证,则此处理程序设置请求的Thread.CurrentPrincipal
。
另外,请看一下应用AuthorizaAttribute
来执行授权的控制器。AuthorizaAttribute
检查Thread.CurrentPrincipal
以执行授权。
https://stackoverflow.com/questions/14027520
复制相似问题