Добавление пользователя учетной записи Windows в роль поставщика членства - PullRequest
0 голосов
/ 02 декабря 2011

Я хочу использовать поставщик членства ASP.NET с проверкой подлинности Windows и ролями членства. Мне нужно иметь возможность добавить пользователя Windows в роль. Могу ли я просто добавить пользователя домена в роль членства. Не уверен, как это сделать.

Мне не нужно хранить информацию о пользователе, пароль и т. Д. В таблицах Memebership. Я просто хочу использовать Memebership для ролевых функций.

По сути, я пытаюсь сделать, если пользователь, с которым я вошел (учетная запись домена), играет роль «Администратор» - я вижу страницу Я не хочу поддерживать второй набор учетных данных (Windows и членство), чтобы сделать это. Это также не потребует от пользователя входа в систему для просмотра страниц администратора.

Спасибо за предоставленные советы ...

1 Ответ

0 голосов
/ 31 декабря 2011

Здесь есть несколько вариантов.

  • Вы можете использовать AzMan с резервным хранилищем ADAM или XML.
  • Вы можете играть роль своего собственного RoleProvider
  • Вы можете перехватить событие Application_AuthenticateRequest на странице Global.asax и выполнить поиск в таблице, файле и т. Д.

Например, здесь приведен код, который заменяет принципала пользователей текущего контекста на общий.

    protected void Application_AuthenticateRequest(object sender, EventArgs e)
    {
        if (Context.User != null)
        {
            var genericIdentity = new GenericIdentity(Context.User.Identity.Name);
            //TODO - get roles from somewhere....
            var principal = new GenericPrincipal(genericIdentity, new string[] { "CanSavePerson" });
            Context.User = principal;
        }
    }

Вместо строки [] {"CanSavePerson"} вы будете искать роли этого человека в выбранном вами хранилище данных.

  • В качестве последнего варианта вы можете жестко закодировать своих пользователей и их роли в файле web.config.
...