powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / WCF и аутентификация. Простой вопрос
4 сообщений из 4, страница 1 из 1
WCF и аутентификация. Простой вопрос
    #36810289
Anton.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!
Сделал простой WCF сервис с методом Test(), поднял под IIS, все ок.

В другой проект добавил ServiceReference. Дергаю метод сервиса таким образом:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
using(var client = new MyServiceClient())
                {
                    client.ClientCredentials.UserName.UserName = "test_name";
                    client.ClientCredentials.UserName.Password = "test_pass";
                    string result = client.Test();
                    ...
                }

Вопрос: как в сервисе внутри метода Test() получить эти самые имя и пароль?
...
Рейтинг: 0 / 0
WCF и аутентификация. Простой вопрос
    #36811374
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто от балды - System.ServiceModel.ServiceSecurityContext.Current не то?
...
Рейтинг: 0 / 0
WCF и аутентификация. Простой вопрос
    #36812445
stimpi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
если вам надо аунтификацию сделать, с использованием логина и пароля, то надо делать примерно так

server config
Код: 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.
<system.serviceModel>
<bindings>
      <wsHttpBinding>
        <binding name="UserNameTransportSecurity" >
          <security mode="TransportWithMessageCredential">
            <transport clientCredentialType="None" />
            <message clientCredentialType="UserName" algorithmSuite="Default"/>
          </security>
        </binding>
      </wsHttpBinding>


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

<services>
      <service name="Namespace.Service" behaviorConfiguration="UserNameAuthentication">
        <endpoint binding="wsHttpBinding" bindingConfiguration="UserNameTransportSecurity"
          contract="Namespace.IService" />
        <endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange" name="MetadataBinding" />
      </service>
    </services>

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
public class CredentialValidator : UserNamePasswordValidator
    {
        public override void Validate(string userName, string password)
        {
            if(userName != "test " || password != "test")

            try
            {
                using (var connection = new SqlConnection(s.ToString()))
                {
                    connection.Open();
                }
            }
            catch (SqlException)
            {
                throw new SecurityTokenException("Invalid Username or Password.");
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
    }
...
Рейтинг: 0 / 0
WCF и аутентификация. Простой вопрос
    #36812456
stimpi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
последний квоут не ппраильно вставился (.

[src][public class CredentialValidator : UserNamePasswordValidator
{
public override void Validate(string userName, string password)
{
if(userName != "test" || password != "test")
throw new SecurityTokenException("Invalid Username or Password.");
}
}/SRC]

и к сайту прикрутить сертификат.

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


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