【问题标题】:Is the [Authorize] attribute for ASP.NET MVC controllers only for Membership Providers?ASP.NET MVC 控制器的 [Authorize] 属性是否仅适用于成员资格提供程序?
【发布时间】:2009-06-11 15:08:57
【问题描述】:

与 ASP.NET MVC 控制器一起使用的 [Authorize] 属性是否仅适用于已实现 MembershipProvider 的站点?

【问题讨论】:

    标签: asp.net-mvc attributes authorize asp.net-membership


    【解决方案1】:

    简短的回答是否定的。它只是检查是否存在 IPrincipal,如何到达那里取决于您。

    我有自己的登录逻辑,而不是会员资格提供程序,一旦我验证了用户身份,我只需调用 FormsAuthentication.SetAuthCookie 方法。完成后,您可以使用 [Authenticate] 属性。

    【讨论】:

      【解决方案2】:

      [Authorize] 属性是一个操作过滤器。它将获取IPrincipal 并检查用户是否已通过身份验证,或者您是否使用该属性指定角色和/或用户,它将与这些匹配。

      可以通过多种方式对 Web 请求进行身份验证。从 Open ID 到 Windows 身份验证的一切。查看这个问题以获取 OpenID 示例以及以这种方式实现身份验证的更多链接:StackOverflow Question 961468

      【讨论】:

        【解决方案3】:

        我很确定确实如此。我想您可以扮演自己的角色并实施类似的身份验证/授权方式。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-01-29
          • 1970-01-01
          • 1970-01-01
          • 2022-01-24
          • 1970-01-01
          相关资源
          最近更新 更多