powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / WCF авторизация. Проблема настройки
3 сообщений из 3, страница 1 из 1
WCF авторизация. Проблема настройки
    #39091127
Pavluha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: 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
WCF авторизация. Проблема настройки
    #39093882
МихаилР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
WCF авторизация. Проблема настройки
    #39095116
Pavluha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МихаилР,

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


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