Какую проблему вы пытаетесь решить?Похоже, вы, возможно, идете по пути к сложному решению, в котором вместо этого можно было бы использовать простое решение.
Если у пользователя нет прав доступа к странице после входа в систему, хотите войти в систему?пользователи переходят на одну страницу, а вошедшие в систему пользователи переходят на другую страницу?
Если это так, у меня может возникнуть желание создать еще один контроллер для таких сценариев и перенаправить на этот контроллер везде, где пользователь этого не делает.иметь доступ.Или, если вы используете свой собственный базовый контроллер, я бы поместил туда функциональность.
Тогда контроллер может представить желаемый вид.Например, если не авторизованный пользователь пытается получить доступ к странице, он может быть перенаправлен на общую страницу ошибки.Если пользователь вошел в систему, он может быть перенаправлен на несанкционированную страницу.
Это очень похоже на ответ Роберта.
Вот базовый скелет для базового контроллера.
public BaseController: Controller
{
... // Some code
public ActionResult DisplayErrorPage()
{
// Assumes you have a User object with a IsLoggedIn property
if (User.IsLoggedIn())
return View("NotAuthorized");
// Redirect user to login page
return RedirectToAction("Logon", "Account");
}
}
Затем, скажем, действие AdminController (которое наследуется от BaseController)
public ActionResult HighlyRestrictedAction()
{
// Assumes there is a User object with a HasAccess property
if (User.HasAccess("HighlyRestrictedAction") == false)
return DisplayErrorPage();
// At this point the user is logged in and has permissions
...
}