MVC中的前端控制器c#

时间:2016-08-01 11:36:00

标签: c# asp.net-mvc asp.net-mvc-4 model-view-controller front-controller

有人能告诉我哪个是MVC 4 c#visual studio的前端控制器吗?

我的意思是,我必须做一个大型应用程序,我想添加安全性来限制对控制器和操作的访问。我以前在CodeIgniter的前端控制器的Logistic中执行此操作,向会话添加一个令牌,因此如果有人想在浏览器上手动编写路由,他就无法访问。

我一直在阅读[授权(角色=“管理员”)],我不得不承认这是一个解决方案,但这意味着我必须在所有控制器的每个方法中编写,我想拥有使用IF / ELSE集中在前端控制器中。

PD:如果你不知道怎么做,请至少试着告诉我在哪里可以找到MVC c#visual studio中的前置控制器。

谢谢大家。

3 个答案:

答案 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)