2012-12-25 67 views

回答

1

在MVC中,您可以简单地在您的控制器方法或类上添加[Authorize]来控制受保护的页面。或者为了防止伪造,您可以在视图和控制器上使用[ValidateAntiForgeryToken]。它将使用MachineKeys来评估相关用户。 Asp.net Web API和MVC平台没有区别。但MVC平台和Web页面之间存在一些差异。您也可以employ Authorization in the Web.config file

  • 2授权在Asp.net MVC的类型有:

1- Role-Based Authorization

2- User-Based Authorization

1

你应该先分开的授权和身份验证逻辑。您可以通过主机不可知的方式通过消息处理程序执行身份验证,并通过操作筛选器执行授权。

查看PingYourPackage项目,它是一个示例ASP.NET Web API应用程序。您可以在那里看到basic authentication message handler。如果请求经过身份验证,则此处理程序为该请求设置Thread.CurrentPrincipal

此外,看看应用AuthorizaAttribute执行授权的控制器。 AuthorizaAttribute检查Thread.CurrentPrincipal执行授权。