【发布时间】:2010-02-18 06:30:44
【问题描述】:
我正在使用表单身份验证,我想使用角色,我可以以某种方式设置没有成员身份的用户角色吗?
【问题讨论】:
标签: asp.net asp.net-mvc
我正在使用表单身份验证,我想使用角色,我可以以某种方式设置没有成员身份的用户角色吗?
【问题讨论】:
标签: asp.net asp.net-mvc
一种简单的方法是在用户通过身份验证时将角色列表存储在身份验证票证中。然后为每个请求(global.asax 文件的Application_AuthenticateRequest 方法)提取角色,将它们添加到GenericPrincipal 对象并设置Httpcontext.User 属性。
您的User.IsInRole("role") 和[AuthorizeAttribute(Roles="role")] 将正常工作。
请参阅this answer 以获取详细说明如何操作的代码。
【讨论】:
是的,你可以。
唯一需要注意的是,角色不适用于匿名用户(我认为这很明显),您需要一些机制来设置用户的身份(可以是您喜欢的任何身份)。
MSDN 文章:
包含以下信息:
但是,角色管理不 取决于会员。只要你 在您的应用程序中设置方法 用户身份,可以使用角色 授权管理。
【讨论】:
【讨论】: