Гость
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / WCF авторизация. Проблема настройки / 3 сообщений из 3, страница 1 из 1
30.10.2015, 14:04
    #39091127
Pavluha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WCF авторизация. Проблема настройки
Код: xml
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.
30.
31.
32.
33.
34.
35.
36.
<system.serviceModel>
    <services>
      <service name="Rgi.CorpControl.Service.CorpControlService" behaviorConfiguration="mySer">
        <endpoint binding="wsHttpBinding" bindingConfiguration="basicHttpBinding_CorpControlService" contract="Rgi.CorpControl.Service.ICorpControlService" />
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="mySer">
          <serviceMetadata httpGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="true" />
          <dataContractSerializer maxItemsInObjectGraph="2147483647"/>
          <serviceAuthorization principalPermissionMode="Custom" />
          <serviceCredentials>
            <userNameAuthentication userNamePasswordValidationMode="Custom" customUserNamePasswordValidatorType="Rgi.CorpControl.Service.Core.UserNameValidator, Rgi.CorpControl.Service" />
            <serviceCertificate findValue="localhost" storeLocation="LocalMachine" storeName="My" x509FindType="FindBySubjectName" />
          </serviceCredentials>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <bindings>
      <wsHttpBinding>
        <binding name="basicHttpBinding_CorpControlService" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647">
          <readerQuotas maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxDepth="2147483647" maxNameTableCharCount="2147483647" maxStringContentLength="2147483647" />
          <security mode="Message">
            <message clientCredentialType="UserName"  negotiateServiceCredential="false" establishSecurityContext="false"/>
          </security>
        </binding>
      </wsHttpBinding>
    </bindings>
    <protocolMapping>
      <add binding="basicHttpsBinding" scheme="https" />
    </protocolMapping>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
  </system.serviceModel>



Хочу сделать кастомную валидацию логина и пароля.
Приходит ошибка на клиенте: No custom principal is specified in the authorization context
Что не так?
...
Рейтинг: 0 / 0
03.11.2015, 15:42
    #39093882
МихаилР
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WCF авторизация. Проблема настройки
Pavluha,

Уберите вот это тэг:
Код: xml
1.
<serviceAuthorization principalPermissionMode="Custom" />


Вам нужна кастомная аутентификация, вы это прописали в
Код: xml
1.
<userNameAuthentication userNamePasswordValidationMode="Custom" customUserNamePasswordValidatorType="Rgi.CorpControl.Service.Core.UserNameValidator, Rgi.CorpControl.Service" />


А первый тэг указывает что у вас еще и авторизация своя, но класс для политики авторизации не указан, соответственно, когда запрос проходит по pipeline обработку в WCF он ожидает, что на выходе вы сформируете объект IPrincipal собственного происхождения. Ну а вы этого не делаете (и вроде не собираетесь).
...
Рейтинг: 0 / 0
05.11.2015, 12:11
    #39095116
Pavluha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WCF авторизация. Проблема настройки
МихаилР,

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


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