我正在使用表单身份验证,我想使用角色,我可以以某种方式设置没有成员资格的用户的角色吗?
答案 0 :(得分:5)
一种简单的方法是在用户通过身份验证时将角色列表存储在身份验证票证中。然后,对于global.asax文件的每个请求(Application_AuthenticateRequest
方法),您将提取角色,将它们添加到GenericPrincipal
对象并设置Httpcontext.User
属性。
您的User.IsInRole("role")
和[AuthorizeAttribute(Roles="role")]
将正常工作。
有关如何操作的详细信息,请参阅this answer。
答案 1 :(得分:1)
答案 2 :(得分:1)
是的,你可以。
唯一需要注意的是,角色不能与匿名用户一起工作(我会想到这很明显),你需要一些机制来设置用户的身份(可以是你喜欢的任何东西)。
MSDN文章:
包含以下信息:
但是,角色管理没有 取决于会员资格。只要你 有一种方法可以在你的应用程序中设置 用户身份,您可以使用角色 管理授权。
答案 3 :(得分:1)