1

如何使用 asp.net-web-api 实现授权?asp.net-mvc授权和asp.net-web-api授权有多少区别?

4

2 回答 2

1

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

  • Asp.net MVC 中的 2 种授权类型是:

1- 基于角色的授权

2-基于用户的授权

于 2012-12-25T08:59:27.777 回答
1

您应该首先将授权和身份验证逻辑分开。您可以通过消息处理程序以与主机无关的方式执行身份验证,并通过操作过滤器执行授权。

查看PingYourPackage项目,它是一个示例 ASP.NET Web API 应用程序。您可以在那里看到基本的身份验证消息处理程序Thread.CurrentPrincipal如果请求已通过身份验证,则此处理程序为请求设置。

另外,请查看用于AuthorizaAttribute执行授权的控制器。AuthorizaAttribute检查执行Thread.CurrentPrincipal授权。

于 2012-12-25T10:21:16.747 回答