我正在使用 SimpleMembership 开发 MVC4 应用程序。我有一个表“userInfo”,其中存储用户的信息,例如姓名、电子邮件、地址、电话、角色等。当我注册用户时,数据存储在该表和webpages_Membership 中。其他成员资格表(OAuthMembership、Roles、UserInRoles)中不存储任何数据。
当我登录用户时,将使用以下方法对其进行验证:
if (ModelState.IsValid && WebSecurity.Login(Model.Name, Model.Password, false))
它返回“True”,但在此之后,我需要获取注册用户的角色。
在 SimpleMembership 中,“Roles 和 UserInRoles”表是否提供注册的用户角色,或者我可以查询“userInfor”表并从此表中获取角色。
请指教
提前致谢
获取所有可用角色,假设您已启用角色并添加至少一个..
var roles = (SimpleRoleProvider)Roles.Provider;
var allRoles = roles.GetAllRoles();
获取特定用户的角色。
var userRoles = roles.GetRolesForUser("specificusername");
ref MSDN http://msdn.microsoft.com/en-us/library/8h930x07%28v=vs.110%29.aspx
Simple Membership 不附带任何现成的角色管理页面。您可以自己创建它们,或者直接通过 code/sql/ef 等管理它们。
代码示例...
检查并创建管理员角色:
if (!Roles.RoleExists("Admin"))
Roles.CreateRole("Admin");
在创建时将用户添加到角色:
if (!Roles.GetRolesForUser("specificusername").Contains("Admin"))
Roles.AddUsersToRoles(new[] {"specificusername"}, new[] {"Admin"});
ref 添加安全性和成员资格 http://www.asp.net/web-pages/tutorials/security/16-adding-security-and-membership
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)