在 asp.net mvc 中管理两个或多个表的角色提供者
Manage Roleprovider for two or more tables in asp.net mvc
我正在使用 asp.net mvc4
和 EF6
创建一个网站,其中我有两个管理员和用户表,我想为每个表设置授权角色。到目前为止,我已经成功地为 users
设置了角色,但是如果我有两个或更多模型,我不知道如何在我的自定义 RoleProvider
class 中设置角色。这是我的代码,
public class MgtRoleProvider : RoleProvider
{
public override string[] GetRolesForUser(string username)
{
rental_dbEntities db = new rental_dbEntities();
string userRole = db.TblUsers.Where(a => a.username == username).FirstOrDefault().role;
string[] result = { userRole };
return result;
}
}
如何在 GetRolesForUser
方法中设置两个或多个模型以及 return 它们的角色值?非常需要这个帮助。谢谢。
为您的 TblAdmins
table 和 return 添加第二个查询:
public class MgtRoleProvider : RoleProvider
{
public override string[] GetRolesForUser(string username)
{
rental_dbEntities db = new rental_dbEntities();
string userRole = string.Empty;
string adminRole = string.Empty;
var user = db.TblUsers.Where(a => a.username == username).FirstOrDefault()
if (user != null)
{
userRole = user.role;
}
var admin = db.TblAdmins.Where(a => a.username == username).FirstOrDefault();
if (admin != null)
{
adminRole = admin.role;
}
string[] result = { userRole, adminRole };
return result;
}
}
我正在使用 asp.net mvc4
和 EF6
创建一个网站,其中我有两个管理员和用户表,我想为每个表设置授权角色。到目前为止,我已经成功地为 users
设置了角色,但是如果我有两个或更多模型,我不知道如何在我的自定义 RoleProvider
class 中设置角色。这是我的代码,
public class MgtRoleProvider : RoleProvider
{
public override string[] GetRolesForUser(string username)
{
rental_dbEntities db = new rental_dbEntities();
string userRole = db.TblUsers.Where(a => a.username == username).FirstOrDefault().role;
string[] result = { userRole };
return result;
}
}
如何在 GetRolesForUser
方法中设置两个或多个模型以及 return 它们的角色值?非常需要这个帮助。谢谢。
为您的 TblAdmins
table 和 return 添加第二个查询:
public class MgtRoleProvider : RoleProvider
{
public override string[] GetRolesForUser(string username)
{
rental_dbEntities db = new rental_dbEntities();
string userRole = string.Empty;
string adminRole = string.Empty;
var user = db.TblUsers.Where(a => a.username == username).FirstOrDefault()
if (user != null)
{
userRole = user.role;
}
var admin = db.TblAdmins.Where(a => a.username == username).FirstOrDefault();
if (admin != null)
{
adminRole = admin.role;
}
string[] result = { userRole, adminRole };
return result;
}
}