我正在进行的这个项目需要我保留一个本地管理员用户数据库,并为普通用户使用一个外部数据库。在 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 用户属于哪个角色。