Поставщики профилей и проверка подлинности Windows - PullRequest
1 голос
/ 18 сентября 2009

Все наши внутренние проекты используют проверку подлинности и олицетворение Active Directory, поскольку это является принятой политикой безопасности для компании.

В настоящее время у меня есть сценарий, в котором мне нужно хранить информацию о профиле пользователя, и я хотел бы использовать встроенные поставщики профилей, которые являются стандартными в ASP.Net. Ранее я успешно использовал это с проверкой подлинности с помощью форм, однако не могу найти никакой полезной информации о том, как реализовать это при использовании проверки подлинности Windows.

  • Можно ли как-нибудь получить только поставщика профилей, работающего с аутентификацией Windows, из коробки?
  • Буду ли я вынужден создавать провайдер настраиваемого профиля?

Данные будут храниться в базе данных, а не в Active Directory. Однако, если последний вариант возможен, мы будем благодарны за некоторые рекомендации.

Примечания

  • Мне не нужно использовать поставщика ролей, это обрабатывается AD.
  • Я не уверен, что мне нужно внедрить провайдера AD Membership для работы провайдера профилей.

1 Ответ

3 голосов
/ 18 сентября 2009

вы можете просто использовать стандартный SqlProfileProvider. В качестве имени пользователя используйте свойство Context.User.Identity.Name. ASP.NET сам создаст запись пользователя в своих стандартных таблицах, чтобы отслеживать ее. Поставщик ролей также работает в сочетании с аутентификацией Windows. Смотрите эту ссылку для получения дополнительной информации: http://weblogs.asp.net/scottgu/pages/Recipe_3A00_-Implementing-Role_2D00_Based-Security-with-ASP.NET-2.0-using-Windows-Authentication-and-SQL-Server.aspx

если вы включите и настроите поставщика профилей в файле web.config, вы можете использовать его следующим образом:

ProfileBase profile = ProfileBase.Create(Context.User.Identity.Name, true);
profile.SetPropertyValue("MyProfileProperty", propertyValue);
profile.Save();

Удачи!

...