请教一个MVC控制器写法的问题

siaosa 2013-12-05 04:38:33
想在控制器中实现判断当前用户是否能够执行此功能,代码如下:


public class HomeController : Controller
{
public ActionResult test1()
{
/*控制器内所有方法内都有相同的代码,判断是否有权限执行,如果有执行才往下执行*/
........
return View();
}

public ActionResult test2()
{
/*控制器内所有方法内都有相同的代码,判断是否有权限执行,如果有执行才往下执行*/
........
return View();
}
}


除了定义一个公用的方法判断外,还有没有其它更好的方法呢?
...全文
145 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
白云任去留 2013-12-05
  • 打赏
  • 举报
回复

[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = false)]
    public class AuthorizeFilterAttribute : ActionFilterAttribute
    {
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            /*
            判断权限                       
            */            
        }
    }

[AuthorizeFilter]
public class BaseController : Controller
{

}
//继承BaseController避免每个Controller添加AuthorizeFilter
public class HomeController : BaseController
{

}
zhujiazhi 2013-12-05
  • 打赏
  • 举报
回复

AuthorizeAttribute

[Authorize]
public class HomeController : Controller
Ahoo 2013-12-05
  • 打赏
  • 举报
回复

    /// <summary>
    /// 声明控制器基类,由子类继承
    /// </summary>
    public class ControllerBase : Controller
    {
        protected override void Execute(System.Web.Routing.RequestContext requestContext)
        {
            string controller = requestContext.RouteData.Values["controller"].ToString();
            string action = requestContext.RouteData.Values["action"].ToString();

            /*控制器内所有方法内都有相同的代码,判断是否有权限执行,如果有执行才往下执行*/
            


            base.Execute(requestContext);
        }

    }
threenewbee 2013-12-05
  • 打赏
  • 举报
回复
使用权限验证过滤器 http://www.codeproject.com/Articles/577776/AplusBeginner-27splusTutorialplusforplusUnderstand

62,067

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧