【发布时间】:2010-11-20 19:37:11
【问题描述】:
我正在进行的这个项目要求我保留一个本地管理员用户数据库,并为普通用户使用一个外部数据库。在 admin db 中通过身份验证的任何人都应分配“admin”角色,通过其他 db 进行身份验证的任何人将始终分配“user”角色。
我可以手动分配这些角色吗?我不需要角色提供者或任何东西的复杂性,因为我只使用这两个角色,这两个角色总是基于他们验证的数据库。
如果您可以提供示例代码或指向某些文档的链接,那将是一个巨大的帮助。谢谢!
编辑:
目前我没有使用角色提供者,创建角色提供者似乎很麻烦。我知道它不是“最佳实践”,但我只需要在登录期间分配 2 个角色中的 1 个(这永远不会改变)。将角色信息存储在数据库中也没有任何意义,因为用户已经被他们的角色分成了 2 个数据库。
这是一些伪代码:
if (AdminDB.ValidateUser(username,password)==true) {
SetAuthCookie(username);
AssociateUserWithRole(username, 'admin');
} elseif (UserDB.ValidateUser(username,password)==true) {
SetAuthCookie(username);
AssociateUserWithRole(username, 'user');
} else {
// Login failed.
}
我不知道它的“ThisSession.AssociateUserWithRole”部分。基本上,用户经过身份验证后,我需要告诉 .NET 用户属于哪个角色。
【问题讨论】:
标签: asp.net asp.net-mvc roles membership-provider