2013-03-08 2 views
0

Меня смущает пользовательская авторизация в MVC4. Я реализовал собственный атрибут безопасности (на основе System.Web.Mvc.AuthorizeAttribute), который отлично работал, и теперь я начал расширять свой проект с помощью веб-api. Однако кажется, что веб-api необходимо использовать System.Web.Http.AuthorizeAttribute (?).Пользовательская авторизация в MVC4 и веб-API

Могу ли я использовать ту же авторизацию как для веб-страниц api, так и для стандартных страниц mvc?

ответ

0

Проще говоря: нет, вы не можете. Системы были сделаны отдельно. Возможно, Microsoft сможет объединить их в будущем.

+0

Ничего себе, это кажется невероятно глупым. Значит, мне нужно создать два почти одинаковых класса и вручную убедиться, что разработчики не применяют атрибут авторизации не того типа для разных действий? – Bjorn

+0

Ну да, лично мне нравится помещать классы в один файл с таким именем, как: 'MVCAuthorizationAttribute' и' APIAuthorizationAttribute', чтобы разработчики не использовали неправильный, но это ваш вызов. Я на самом деле попытался создать общий атрибут, который будет направлять на правильный (он будет проверять, какой тип контроллера он был), но это невозможно без указания параметра или чего-то еще. – Rob

+0

Да, это похоже на способ сделать это ... Должен сказать, что с момента запуска Microsoft MVC я всегда был впечатлен их новыми компонентами и фреймворками, но это было немного разочарованием. – Bjorn

Смежные вопросы