Создание сервиса.NET WCF для iPhone с аутентификацией

Попытка создать очень простую службу WCF, которая будет передавать данные в приложение для iPhone.

Хотелось бы использовать базовую аутентификацию какого-то рода, скорее всего, имя пользователя / пароль или токен какого-то рода.

Имея несколько проблем с поиском какой-либо хорошей документации по этому вопросу, поэтому любая помощь будет принята с благодарностью!

Ура, Тим

1 ответ

Решение

Для тех, кто заинтересован, я решил это следующим образом:

В web.config под system.servicemodel:

<behaviors>
    <serviceBehaviors>
        <behavior name="default">
            <serviceAuthorization serviceAuthorizationManagerType="Your.ServiceAuthorizationManager"></serviceAuthorization>
        </behavior>
    </serviceBehaviors>
</behaviors>
<services>
    <service name="Your.WCF.Service" behaviorConfiguration="default">
</services>

Затем в обработке вашего менеджера (класс Your.ServiceAuthorizationManager) у вас есть доступ к запросу в контексте операции, вы можете авторизовать и вернуть true, если авторизовано, и false, если нет.

public class Your.ServiceAuthorizationManager : ServiceAuthorizationManager
{
    protected override bool CheckAccessCore(OperationContext operationContext)
    {
        // Validate request here...

        return true;
    }
}
  • Очевидно, что копирование и вставка этого кода не сработает, вам придется редактировать в нескольких местах.

Надеюсь, это поможет кому-то!

Другие вопросы по тегам