Я перехожу из интегрированной системы / 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>
Я думаю, что по этому поводу?Надеюсь, это поможет.