ASP.NET MVC 控制器的 [Authorize] 属性是否仅适用于成员资格提供程序?
与 ASP.NET MVC 控制器一起使用的 [Authorize] 属性是否仅适用于已实现 MembershipProvider 的站点?
Does the [Authorize] attribute used with ASP.NET MVC controllers only function with sites that have implemented a MembershipProvider?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我很确定它确实有效。 我想您可以自己扮演角色并实现类似的身份验证/授权方式。
I'm pretty sure it does yes. I imagine you could role your own and implement a similar way of doing authentication/authorization.
简短的回答是否定的。 它只是检查是否存在 IPrincipal,如何到达那里取决于您。
我有自己的登录逻辑,而不是会员资格提供程序,一旦我对用户进行了身份验证,我只需调用 FormsAuthentication.SetAuthCookie 方法。 完成此操作后,您就可以使用 [Authenticate] 属性。
Short answer is no. It just checks that there is a IPrincipal, how that gets there is up to you.
I have my own login logic that I use instead of the Membership provider, once I've authenticated a user I just call the FormsAuthentication.SetAuthCookie method. Once you've done that you can then use the [Authenticate] attribute.
[Authorize]
属性是一个操作过滤器。 它将获取 IPrincipal 并检查用户是否已通过身份验证,或者如果您使用属性指定角色和/或用户,它将与这些属性进行匹配。可以通过多种方式对 Web 请求进行身份验证。 从 Open ID 到 Windows 身份验证的一切。 查看此问题以获取 OpenID 示例以及以这种方式实现身份验证的更多链接:StackOverflow问题961468
The
[Authorize]
attribute is an action filter. It's going to grab theIPrincipal
and check if the user is authenticated or if you specify roles and/or users in with the attribute, it will match against those.There are many ways that a web request can be authenticated. Everything from Open ID to Windows Authentication. Check out this question for an OpenID example and more links to implementing authentication that way: StackOverflow Question 961468