【发布时间】:2010-10-09 04:28:50
【问题描述】:
我无法弄清楚如何为用户分配角色。我已经让登录机制正常工作,但需要弄清楚如何使用定义的角色来授予用户一定的访问权限。
我有一个包含这些表的数据库:
表 ------ UserTbl RolesTbl UserInRoleTbl -------- ---------- ------------- 用户 ID (PK) RoleId (PK) ID (PK) 名称 RoleName UserId 用户名 描述 RoleId 密码 电子邮件使用这个小型数据库,我正在测试为用户分配角色的能力。
我使用LINQtoSQL 作为数据访问层。我已经创建了登录机制来登录软件,然后我就卡在下一步该做什么了。
例如:
username = admin,password= admin, RoleId = 1 ;Rolename =Administrator;
然后我在登录后使用以下代码获取角色:n
public partial class Window3 : Window
{
public Window3()
{
InitializeComponent();
GenericIdentity My2 = new GenericIdentity("admin");
string[] roles1 = { "Administrator" };
GenericPrincipal principal1 = new GenericPrincipal(My2, roles1);
Thread.CurrentPrincipal = principal1;
}
private void LoadWindow(object sender, RoutedEventArgs e)
{ if (Thread.CurrentPrincipal.IsInRole("Administrator"))
{
exercise.Visibility = Visibility;
tot.IsEnabled = false;
}
}
我实现了代码角色但是没有与数据库的连接;相反,我想从数据库中存储角色,在 C# 中创建一个方法并写下用户登录后访问应用程序的代码。
进一步解释:我给了Rolename = Administrator,所以如果用户是管理员,他将获得这个角色,但我不确定如何从数据库中检索这些信息并将其与用户联系起来。谁能帮帮我?
同一用户提出的相关(或可能重复)问题:
Username and role
Forms Authenticate
How create role to put in the database?
【问题讨论】:
标签: c# .net wpf database linq-to-sql