博客园里的干货店

导航

MVC授权

public class CommonController : Controller
{
 
    protected override void OnAuthorization(AuthorizationContext filterContext)
    {
        var controllerName = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName;
        var actionName = filterContext.ActionDescriptor.ActionName;
        if (this.GetUserAuthorize(this.HttpContext.User.Identity.Name, controllerName, actionName))
        {
            base.OnAuthorization(filterContext);
        }
        else
        {
            const string ViewName = "~/Views/Account/Login.cshtml";
            var vr = new ViewResult { ViewName = ViewName };
            filterContext.Result = vr;
        }
    }
 
    private bool GetUserAuthorize(string userId,string controllerName,string actionName)
    {
        if (string.IsNullOrEmpty(userId))
        {
            return false;
        }
 
        //访问数据库中相关的用户、角色、功能权限等表看是否具有访问此action的权限
          //有返回true,否则false
 
        return true;
    }

  

posted on 2014-01-22 09:52  程序员的干货店  阅读(217)  评论(0编辑  收藏  举报