【发布时间】:2009-06-11 15:08:57
【问题描述】:
与 ASP.NET MVC 控制器一起使用的 [Authorize] 属性是否仅适用于已实现 MembershipProvider 的站点?
【问题讨论】:
标签: asp.net-mvc attributes authorize asp.net-membership
与 ASP.NET MVC 控制器一起使用的 [Authorize] 属性是否仅适用于已实现 MembershipProvider 的站点?
【问题讨论】:
标签: asp.net-mvc attributes authorize asp.net-membership
简短的回答是否定的。它只是检查是否存在 IPrincipal,如何到达那里取决于您。
我有自己的登录逻辑,而不是会员资格提供程序,一旦我验证了用户身份,我只需调用 FormsAuthentication.SetAuthCookie 方法。完成后,您可以使用 [Authenticate] 属性。
【讨论】:
[Authorize] 属性是一个操作过滤器。它将获取IPrincipal 并检查用户是否已通过身份验证,或者您是否使用该属性指定角色和/或用户,它将与这些匹配。
可以通过多种方式对 Web 请求进行身份验证。从 Open ID 到 Windows 身份验证的一切。查看这个问题以获取 OpenID 示例以及以这种方式实现身份验证的更多链接:StackOverflow Question 961468
【讨论】:
我很确定确实如此。我想您可以扮演自己的角色并实施类似的身份验证/授权方式。
【讨论】: