Атрибуты веб-служб SOAP для проверки токена аутентификации - PullRequest
1 голос
/ 09 ноября 2010

Я хотел бы создать какой-либо атрибут аутентификации и присоединить его к различным OperationContracts. Внутри этого атрибута он проверяет токен аутентификации и проверяет его работоспособность до запуска OperationContract.

Какой лучший способ реализовать это на платформе .net? Есть ли в wcf какие-либо специальные атрибуты, которые уже выполняют этот тип функций? Я изображаю нечто похожее на атрибуты, которые вы можете прикрепить к контроллерам MVC, которые будут выполнять операции перед выполнением действий.

В случае необходимости я использую WCF для создания веб-служб SOAP, которые будут использоваться клиентами на различных платформах, поддерживающих SOAP, а не только клиентами WCF

Вот код, поясняющий, что я пытаюсь сделать:

Интерфейс:

[ServiceContract]
public interface IService
{

[OperationContract]
string ValidateUser(string username, string password);

[OperationContract]
string GetDataAndAuthInCode(string authtoken);

[MyAuthorizationAttribute]
[OperationContract]
string GetDataAndAuthWithAttribute(string authtoken);
}

реализация:

public class Service : IService
{

public string ValidateUser(string username, string password)
{
    if (!Membership.ValidateUser(username, password))
        throw new Exception("invalid user...");
    else
        return GenerateAuthToken(username);
}

public string GetDataAndAuthInCode(string authtoken)
{
    if (!IsAuthTokenValid(authtoken))
        throw new Exception("Auth token invalid expired");
    else
        return GetData();
}

public string GetDataAndAuthWithAttribute(string authtoken)
{
    return GetData();
}
}

1 Ответ

0 голосов
/ 09 ноября 2010

Похоже, это то, что я ищу .. "Пользовательское поведение":

http://msdn.microsoft.com/en-us/magazine/cc163302.aspx#S7

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...