权限管理

来源:互联网 发布:安卓双系统软件 编辑:程序博客网 时间:2024/06/12 19:40



public class UsersDAL
    {
        //查询用户所有的权限
        public List<Premisson_Func> GetPremisson(int userid)
        {
            OAEntities oae = new OAEntities();
            string sql = "select * from Premisson_Func where Id in (select PremissId from Premisson_Func_X_Users whereUserId=@userid)";
          List<Premisson_Func> listpf=oae.Database.SqlQuery<Premisson_Func>(sql,new SqlParameter("userid",userid)).ToList();
          return listpf;
        }

}


 /// <summary>
    /// 拿到用户所具有权限的过滤器
    /// </summary>
    public class PremissonFilter:IActionFilter
    {
        public void OnActionExecuted(ActionExecutedContext filterContext)
        {

        }

        /// <summary>
        /// 执行之前
        /// </summary>
        /// <param name="filterContext"></param>
        public void OnActionExecuting(ActionExecutingContext filterContext)
        {
            Users u = filterContext.HttpContext.Session["uinfo"] as Users;
            if (u!=null)
            {
                //查询用户所具有的权限
                UsersDAL ud = new UsersDAL();
                List<Premisson_Func> listpf = ud.GetPremisson(u.Id);
                filterContext.Controller.ViewBag.premiss = listpf;
            }
            else//表示用户没有登陆,转到登陆页面
            {

            }
        }
    }



@using DAL;
 

@{
    List<Premisson_Func> listpf = ViewBag.premiss as List<Premisson_Func>;
    foreach (Premisson_Func item in listpf)
    {
        <a href="@item.Url">@item.Name</a>
    }

    }


原创粉丝点击