2009-10-01 5 views
0

Я создаю небольшое приложение с ASP.NET MVC, и я использую поставщик членства ASP.NET для обработки пользователей. Поднял это на страницу входа в основной шаблон MVC.Поставщик членства ASP.NET MVC и ASP.NET - глобальная проверка подлинности

Какова наилучшая практика проверки действительной глобальной аутентификации? В основном я хочу перенаправить на первую страницу или страницу входа, если пользователь не прошел проверку подлинности на всех моих страницах.

-anders

ответ

3

То, как мы это делали, в дни MVC Preview 4 или около того было создание нового класса «BaseController», который наследует каждый другой контроллер. Этот класс BaseController использует Авторизоваться атрибут

[Authorize] 
public class BaseController : Controller 
{ 
... 
} 

Остальные наши контроллеры затем унаследованных от этого одного

public class HomeController : BaseController 
{ 
... 
} 

не приходилось работать с MVC в течение нескольких месяцев, так что я не могу скажем, если это все еще применимо, так что продолжайте с осторожностью ...

1

Вы должны просто аннотировать любое действие, которое вы хотите для аутентификации [Авторизоваться], и, возможно, с некоторыми необходимыми ролями:

[Authorize()] 
public ActionResult Index() { 
    ... 
    return View(); 
} 

Это включает в себя домашней страницы действия, если вы хотите. Несанкционированные попытки всегда будут перенаправляться на страницу входа.

1

это может быть немного сложнее, но другой подход может заключаться в том, чтобы поместить собственный HTTP-модуль в конвейер для перенаправления запроса, если пользователь не аутентифицирован ,

+0

Это лучший ответ на решение. Я бы тоже принял ... Змей. – rodmjay

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