powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / WCF, авторизация MemberShip провайдер
2 сообщений из 2, страница 1 из 1
WCF, авторизация MemberShip провайдер
    #36353403
Hug
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hug
Гость
Всем добрый день.
Не получается организовать авторизацию memberShipProvider на wcf сервисе.
Этот же провайдер удачно выполняет свои функции в asp.net веб приложении.
self-hosted by consoleApplication
конфиг сервиса
Код: 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.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
<authentication mode="Forms">
    <forms cookieless="UseCookies" />
  </authentication>

  <system.web.extensions>
    <scripting>
      <webServices>
        <authenticationService enabled="true"/>
      </webServices>
    </scripting>
  </system.web.extensions>
  
  <system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding name="myBinding">          
          <security mode="TransportCredentialOnly">
            <transport clientCredentialType="None" />
            <message clientCredentialType="UserName"/>            
          </security>
        </binding>
      </basicHttpBinding>
    </bindings>
    
    <services>
      <service name="Pharm.PriceLoader.Service1" behaviorConfiguration="Pharm.PriceLoader.Service1Behavior">
        <endpoint address=""
                  binding="basicHttpBinding"
                  bindingConfiguration="myBinding"
                  contract="Pharm.PriceLoader.IService1"
                  bindingNamespace="http://pharm.com">
          <identity>
            <dns value="localhost"/>
          </identity>          
        </endpoint>
        <endpoint contract="IMetadataExchange" binding="mexHttpBinding" address="mex" />
      </service>
    </services>


    <behaviors>
      <serviceBehaviors>
        <behavior name="Pharm.PriceLoader.Service1Behavior">
          <serviceMetadata httpGetEnabled="true"/>
          <serviceDebug includeExceptionDetailInFaults="true"/>
          <serviceCredentials>
            <clientCertificate>
              <authentication certificateValidationMode="None" />
            </clientCertificate>
            <userNameAuthentication userNamePasswordValidationMode="MembershipProvider"
             membershipProviderName="MySQLMembershipProvider" />
          </serviceCredentials>
        </behavior>
      </serviceBehaviors>
    </behaviors>

  </system.serviceModel>
Выше описан MySQLMembershipProvider.
Почему мне удается из клиента, без установки ClientCredentials.
Вызывать методы, реализующие контракт?
Конфиг клиента
Код: 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.
<system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding name="BasicHttpBinding_IService1" closeTimeout="00:01:00"
            openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
            allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
            maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
            messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
            useDefaultWebProxy="true">
          <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
              maxBytesPerRead="4096" maxNameTableCharCount="16384" />
          <security mode="None">
            <transport clientCredentialType="None" proxyCredentialType="None"
                realm="" />
            <message clientCredentialType="UserName" algorithmSuite="Default" />
          </security>
        </binding>
      </basicHttpBinding>
    </bindings>
    <client>
      <endpoint address="http://localhost:3837/Service1.svc" binding="basicHttpBinding"
          bindingConfiguration="BasicHttpBinding_IService1" contract="IService1"
          name="BasicHttpBinding_IService1" />
    </client>
  </system.serviceModel>




Спасибо за ответы
...
Рейтинг: 0 / 0
WCF, авторизация MemberShip провайдер
    #36358210
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1.
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true">....

2.
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
public class service1 : IService1{....}

3.
<basicHttpBinding>
<binding name="BasicHttpBinding_IService1" allowCookies="true" />
</basicHttpBinding>
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / WCF, авторизация MemberShip провайдер
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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