пользовательская авторизация - роли сделаны, а как насчет пользователей? - PullRequest
2 голосов
/ 20 июля 2011

Я перехожу из интегрированной системы / Windows с проверкой подлинности (в результате чего я использовал группы окон в разделе авторизации web.config и web.sitemap, а также user.identity.name для различных пользовательских функций) врешение SSO, которое предлагает аутентифицированные данные через заголовки http.

Я создал очень простой пользовательский RoleProvider (переопределяющий IsUserInRole и GetRolesForUser), который отлично работал для разделов «allow role» в web.config и раздела ролей web.sitemap.

Iхочу сделать то же самое для части авторизации "пользователи" .. как бы я это сделал?Это через переопределение другого поставщика?Повлияет ли это также на то, что возвращает user.identity.name?

Спасибо, что указали мне в правильном направлении:)

Правка - для Джея.

Обратите внимание, это вероятноНемного хакерского и неопытного исправления, но оно подошло для моей цели. Следуя http://msdn.microsoft.com/en-us/library/8fw7xh74(v=vs.100).aspx, вы можете создать класс со всеми необходимыми определениями функций, возвращая при необходимости ложные / пустые строковые массивы.

Единственными функциями, которые я реализовал, были IsUserInRole и GetRolesForUser.Последний просто подключается к Request.ServerVariables, чтобы проверить соответствующий заголовок HTTP и отформатировать их в массив String, как требуется.IsUserInRole просто сопоставляет предоставленную строку с массивом строк, возвращаемым GetRolesForUser.

После этого я только что упомянул вышеупомянутое в web.config

<roleManager defaultProvider="myroleprov" enabled="true">
 <providers>
  <clear/>
  <add name="myroleprov" type="myApp.CustomProviders.myroleprov" applicationName="myApp"/>
 </providers>
</roleManager>

Я думаю, что по этому поводу?Надеюсь, это поможет.

1 Ответ

0 голосов
/ 20 июля 2011

Я думаю, что вы ищете поставщика членства: http://msdn.microsoft.com/en-us/library/system.web.security.membershipprovider.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...