2017-02-16 54 views
0

Как я могу добавить IdentityBasicAuthenticationAttribute в свой проект? Я прочитал ссылку ниже, которую разделяет @IonutUngureanu, но некоторые из шагов пропущены в документе.Использование атрибута IdentityBasicAuthenticationAttribute в API MVC 4

Пожалуйста, проверьте прилагаемый скриншот об ошибке. enter image description here

Thank you.

ответ

1

Вы можете использовать или создать пользовательскую проверку подлинности/Авторизовать атрибут фильтра:

https://docs.microsoft.com/en-us/aspnet/web-api/overview/security/authentication-filters

+0

Мне не нужна какая-либо пользовательская аутентификация, если я могу получить значение авторизации в файле Global.asax? –

+0

Был ли это вопрос или утверждение? ... однако .. вы могли бы попытаться использовать Application_BeginRequest, но не стандартный подход –

+0

Я немного запутался в вашей ссылке, мне нужно внимательно ее прочитать. Спасибо. –

0

С вашей картины я вижу, что вам не хватает реализации класса IdentityBasicAuthenticationAttribute. Шаг за шагом инструкции:

  1. Создайте папку Фильтры
  2. В папке Фильтры создать класс под названием IdentityBasicAuthenticationAttribute:

    public class IdentityBasicAuthenticationAttribute : BasicAuthenticationAttribute 
    { 
        protected override async Task<IPrincipal> AuthenticateAsync(string userName, string password, CancellationToken cancellationToken) 
        { 
         // Implement logic suitable for your case   
         return new ClaimsPrincipal(identity); 
        } 
    } 
    
  3. Зарегистрируйте Ваш фильтр: config.Filters.Add(new IdentityBasicAuthenticationAttribute());

Полный образец образца здесь: http://aspnet.codeplex.com/sourcecontrol/latest#Samples/WebApi/BasicAuthentication/BasicAuthentication/Filters/IdentityBasicAuthenticationAttribute.cs

+0

Еще раз спасибо. Сейчас я попробую. –

+0

Извините, но я совершенно новый в этом, и теперь я не могу найти 'BasicAuthenticationAttribute' –

+0

Возможно, вам не хватает ссылки или пакета nuget. В полном коде вы можете увидеть в файле packages.config используемый и в файле кода вы можете увидеть ссылки на использование. –