2015-09-22 5 views
0

Когда я создаю контроллеры, я делаю их для любых не зарегистрированных/зарегистрированных пользователей с данными Аннотации [Авторизовать]/[AllowAnonymous].Как работает аутентификация в ASP.Net MVC 5?

Мой вопрос: я не могу понять, как определить, доступен ли просмотр с помощью «Авторизованных» пользователей или «Анонимных». Есть ли способ контролировать доступ в представлении?

+1

Это невероятно широкий, так как вы обрабатываете указанный доступ к «контроллерам». Однако ваш 'Controller' будет определять доступ до отображения' View'. – Greg

+0

Ya, но есть ли способ обработать доступ к представлению, используя некоторую «хорошую форму» в MVC5? Я просто пытаюсь использовать то, что лучше для стандартного использования. –

ответ

3

Понимание Сессии в C#

Авторизованный атрибут и атрибут AllowAnonymous не связаны состояния сеанса.

Но я не могу понять, как определить, может ли вид быть доступ к «Авторизованным» пользователям или «Анонимным». Есть ли способ контролировать доступ в представлении?

Вы хотите ограничить доступ к классу контроллера или методу действия (не просматривать).

По умолчанию ASP.Net MVC использует ASP.Net Identity.

Adam Freeman - Pro ASP.NET MVC 5 имеет бесплатную главу для идентификации ASP.NET here.

Скотт Аллен имеет бесплатное ASP.NET MVC 5 Fundamentals at PluralSight.

1

Ваш контроллер обслуживает View так, чтобы украсить определенный контроллер, который обслуживает любой вид, который будет определять, смогут ли Анонимные пользователи или Авторизованные пользователи просмотреть его.

Чтобы ответить на ваш комментарий ниже о том, как контроллер знает. Вы можете прочитать, как работает аутентификация в .NET. http://www.asp.net/mvc/overview/security

Атрибут [Авторизовать] проверяет, существует ли, например, файл cookie. Это будет обрабатываться с использованием чего-то вроде Forms Authentication, который установил бы cookie-файл для пользователя.

+0

Хорошо, я понимаю. Но как контроллер знает, кто является «анонимным» и «уполномоченным» пользователем? –

+0

Изменен мой ответ. В Visual Studio вы должны создать новый проект MVC с членством и пройти через код, чтобы узнать, как работает процесс аутентификации. –

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