Аутентификация с помощью 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
    }

Ответы (0 шт):