Аутентификация с помощью Genericldentity
Подскажите, как исправить код, чтобы сделать аутентификацию пользователя? Или как альтернативу использовать PrincipalPermission. Опять же вопрос как?
string user = textBox1.Text;
CreateGenericPrincipalAndIdentity(Roles.Administrator, user);
if (Thread.CurrentPrincipal.IsInRole("Administrator"))
{
textBox1.Text = ("Добро пожаловать, " + Thread.CurrentPrincipal.Identity.Name + "! Ваша роль — Администратор");
}
else if (Thread.CurrentPrincipal.IsInRole("User"))
{
textBox1.Text = ("Добро пожаловать, " + Thread.CurrentPrincipal.Identity.Name + "! Ваша роль — Продвинутый пользователь");
}
else
{
MessageBox.Show("У вас нет прав для работы с этим приложением");
this.Close();
}
static void CreateGenericPrincipalAndIdentity(Roles role, string login)
{
GenericIdentity identity = new GenericIdentity(login);
string[] userRoles = new string[] { role.ToString() };
GenericPrincipal principal = new GenericPrincipal(identity, userRoles);
Thread.CurrentPrincipal = principal;
}
enum Roles
{
Administrator,
User
}