【问题标题】:How do I achieve authorization with asp.net-web-api?如何使用 asp.net-web-api 实现授权?
【发布时间】:2012-12-25 03:48:31
【问题描述】:

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

【问题讨论】:

    标签: asp.net asp.net-mvc authorization asp.net-web-api


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

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

      1- Role-Based Authorization

      2- User-Based Authorization

      【讨论】:

        猜你喜欢
        • 2023-03-17
        • 2020-11-16
        • 2018-09-28
        • 2015-08-20
        • 2012-03-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多