Проверьте OperationContext для Credentials.UserName на стороне сервера - PullRequest
2 голосов
/ 02 марта 2011

Можно ли получить имя пользователя и пароль, предоставленные на стороне клиента, с этим кодом:

myChannelFactory.Credentials.UserName.UserName = "username";
myChannelFactory.Credentials.UserName.Password = "password";

В коде на стороне сервера?Конкретно в этом методе ?:

public class MyAuthorizationManager : ServiceAuthorizationManager
{
    protected override bool CheckAccessCore(OperationContext operationContext)
    {
    }
}

1 Ответ

1 голос
/ 02 марта 2011

Напишите класс, производный от UserNamePasswordValidator, а затем используйте его с определением поведения службы WCF

Переопределите «Validate (string userName, string password)» в вашем классе

, затем web (app).config следует:

<behaviors>
  <serviceBehaviors>
    <behavior name="ClearServiceBehaviour">
      <serviceDebug httpHelpPageEnabled="true" includeExceptionDetailInFaults="true" />
      <serviceMetadata httpGetEnabled="true" />
      <serviceCredentials>
        <userNameAuthentication userNamePasswordValidationMode="Custom"
            customUserNamePasswordValidatorType="MyNamespace.MyCustomUserPassAuthenticator, MyAssembly" />
      </serviceCredentials>
    </behavior>
  </serviceBehaviors>
</behaviors>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...