有人能告诉我哪个是MVC 4 c#visual studio的前端控制器吗?
我的意思是,我必须做一个大型应用程序,我想添加安全性来限制对控制器和操作的访问。我以前在CodeIgniter的前端控制器的Logistic中执行此操作,向会话添加一个令牌,因此如果有人想在浏览器上手动编写路由,他就无法访问。
我一直在阅读[授权(角色=“管理员”)],我不得不承认这是一个解决方案,但这意味着我必须在所有控制器的每个方法中编写,我想拥有使用IF / ELSE集中在前端控制器中。
PD:如果你不知道怎么做,请至少试着告诉我在哪里可以找到MVC c#visual studio中的前置控制器。谢谢大家。
答案 0 :(得分:0)
ASP MVC中没有前端控制器这样的东西。我认为您正在寻找的东西是某种基本控制器,其他所有控制器都继承自。
您可以将此Authorize属性添加到方法或类(整个控制器)。如果每个动作都需要这个属性,我建议创建一个主控制器,让每个控制器继承这个控制器。
答案 1 :(得分:0)
MVC中没有前端控制器。您需要创建一个基本控制器,并且您的每个控制器都将继承Base控制器。
public class BaseController : Controller
{
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
var getControllerName = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName;
var getActionName = filterContext.ActionDescriptor.ActionName;
//Write your code here
}
}
现在使用Base控制器继承您的控制器。
public class AccountController : BaseController
{
//Your action goes here.
}
答案 2 :(得分:0)