powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Membership + авторизация в WCF сервисе
5 сообщений из 5, страница 1 из 1
Membership + авторизация в WCF сервисе
    #37287860
Balda_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MS VS .NET 2008, MS SQL Server 2005.
Есть WCF сервис, доступ к методам которого необходимо давать только авторизированным пользователям.
Для аутентификации пользователей используется стандартная Membership аутентификация.

Проблема в том, что пароли пользователей хранятся в БД в хешированном виде, а для корректной работы авторизации WCF необходимо задавать свойства ClientCredentials.UserName.UserName и ClientCredentials.UserName.Password.

Изменять способ хранения паролей не хотелось бы... Как можно это обойти?
...
Рейтинг: 0 / 0
Membership + авторизация в WCF сервисе
    #37288075
stimpi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а что мешает использовать статический метод Membership.ValidateUser ?
...
Рейтинг: 0 / 0
Membership + авторизация в WCF сервисе
    #37288863
Balda_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
stimpi,

насколько я понимаю в метод Membership.ValidateUser все равно нужно передавать логин и незахешированный пароль.
Такую проверку можно реализовать на этапе входа пользователя в систему, а мне нужно проверить права доступа пользователя к методам сервиса после его авторизации.

Кроме того от установки ClientCredentials это не спасает, будет вылетать ошибка:
"The username is not provided. Specify username in ClientCredentials."
...
Рейтинг: 0 / 0
Membership + авторизация в WCF сервисе
    #37289542
stimpi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у вас есть UserId в стандартном мембершипе, вот по нему вытаскивайте вашу внутреннюю политику безопасности,
ниже пример, что вы запихнете в CredentialValidator - ваше дело
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
<bindings>
      <wsHttpBinding>
        <binding>
          <security mode="TransportWithMessageCredential">
            <transport clientCredentialType="None" />
            <message clientCredentialType="UserName" algorithmSuite="Default"/>
          </security>
        </binding>
      </wsHttpBinding>
    </bindings>

 <behaviors>
      <serviceBehaviors>
        <behavior name="UserNameAuthentication">
          <serviceCredentials>
            <userNameAuthentication
                userNamePasswordValidationMode="Custom"
                customUserNamePasswordValidatorType="Namespace.CredentialValidator, dllName"/>
          </serviceCredentials>
        </behavior>
      </serviceBehaviors>
    </behaviors>

public class CredentialValidator: UserNamePasswordValidator
    {
        public override void Validate(string userName, string password)
        {
            
        }
    }
...
Рейтинг: 0 / 0
Membership + авторизация в WCF сервисе
    #37289553
Balda_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
stimpi,

Спасибо )
Пожалуй, реализация своей политики безопасности гораздо лучше стандартной ))
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Membership + авторизация в WCF сервисе
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]