Мне сложно понять, как назначать роли пользователям. У меня работает механизм входа, но мне нужно выяснить, как использовать роли, определенные для предоставления пользователям определенного доступа.
У меня есть база данных с этими таблицами:
Tables
------
UserTbl RolesTbl UserInRoleTbl
------- ---------- -------------
UserID (PK) RoleId (PK) ID (PK)
Name RoleName UserId
UserName Description RoleId
Password
Email
В этой небольшой базе данных я тестирую возможность назначать роли пользователю.
Я использую 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
, поэтому, если пользователь является администратором, он получит эту роль, но я не уверен, как извлечь эту информацию из базы данных и связать ее с пользователем. Кто-нибудь может мне помочь?
Похожие (или возможно дублирующие) вопросы того же пользователя:
Имя пользователя и роль
Аутентификация форм
Как создать роль для помещения в базу данных?