Esempio n. 1
0
        public override void OnAuthorization(AuthorizationContext filterContext)
        {
            //AdminEntity LoginUser = filterContext.HttpContext.Session[CacheKey.SESSION_LOGIN_ADMIN] as AdminEntity;
            ////如果是未登陆则跳转到登陆页面
            //if (LoginUser == null)
            //{
            //    string path = GetPath(filterContext);
            //    string url = "/Home/Index";
            //    if (!path.IsEmpty())
            //    {
            //        path = filterContext.HttpContext.Server.UrlEncode(path);
            //        url = "/Home/Index?returnurl=" + path;
            //    }
            //    filterContext.Result = new RedirectResult(url);
            //}

            if (this.ValidateLogin)
            {
                AdminEntity LoginUser = filterContext.HttpContext.Session[CacheKey.SESSION_LOGIN_ADMIN] as AdminEntity;
                string path = filterContext.HttpContext.Request.Path;
                if (LoginUser.IsNull())
                {
                    string url = "/Home/Index";
                    if (!path.IsEmpty())
                    {
                        path = filterContext.HttpContext.Server.UrlEncode(path);
                        url = "/Home/Index?returnurl=" + path;
                    }
                    filterContext.Result = new RedirectResult(url);
                }
                else
                {
                    if (ValidateRequest && path != "/")
                    {
                        PowerProvider provider = new PowerProvider();
                        bool hasPower = provider.HasPower(path,LoginUser.RoleNum);
                        if (!hasPower)
                        {
                            string url = "/Home/Error";
                            filterContext.Result = new RedirectResult(url);
                        }
                    }
                }
            }
        }
Esempio n. 2
0
 public ActionResult Save([ModelBinder(typeof(JsonBinder<List<string>>))] List<string> List,string roleNum)
 {
     PowerProvider provider = new PowerProvider();
     int line = provider.AllotPower(roleNum,List);
     if (line > 0)
     {
         this.ReturnJson.AddProperty("d", "success");
     }
     else
     {
         this.ReturnJson.AddProperty("d", "");
     }
     return Content(this.ReturnJson.ToString());
 }
Esempio n. 3
0
 public ActionResult GetTreeSource()
 {
     string RoleNum = WebUtil.GetFormValue<string>("RoleNum",this.LoginUser.RoleNum);
     PowerProvider provider = new PowerProvider();
     Params<List<SysResourceEntity>, List<SysResourceEntity>, List<SysResourceEntity>> param = provider.GetRole(RoleNum);
     List<SysResourceEntity> listAlloted = null;
     List<SysResourceEntity> listNotAlloted = null;
     List<SysResourceEntity> listSource = null;
     listSource = param.Item1;
     listAlloted = param.Item2;
     listNotAlloted = param.Item3;
     listSource = listSource.IsNull() ? new List<SysResourceEntity>() : listSource;
     listAlloted = listAlloted.IsNull() ? new List<SysResourceEntity>() : listAlloted;
     listNotAlloted = listNotAlloted.IsNull() ? new List<SysResourceEntity>() : listNotAlloted;
     this.ReturnJson.AddProperty("ListNotAlloted", ConvertJson.ListToJson<SysResourceEntity>(listNotAlloted));
     this.ReturnJson.AddProperty("ListAlloted", ConvertJson.ListToJson<SysResourceEntity>(listAlloted));
     return Content(this.ReturnJson.ToString());
 }
Esempio n. 4
0
        /// <summary>
        /// 设置导航信息
        /// </summary>
        private void SetNav()
        {
            StringBuilder sb = new StringBuilder();
            sb.Append("<ul class=\"breadcrumb\">");
            sb.Append("<li>");
            sb.Append("<i class=\"icon-home\"></i>");
            sb.Append("<a href=\"/Home/Welcome\">首页</a>");
            sb.Append("<i class=\"icon-angle-right\"></i>");
            sb.Append("</li>");
            if (IsLogin() && !this.LoginUser.RoleNum.IsEmpty())
            {
                PowerProvider provider = new PowerProvider();
                SysResourceProvider SysResourceProvider = new SysResourceProvider();
                List<SysResourceEntity> listSource = SysResourceProvider.GetList();
                List<SysResourceEntity> list = provider.GetRoleResource(this.LoginUser.RoleNum);
                if (!list.IsNullOrEmpty())
                {
                    SysResourceEntity item = list.SingleOrDefault(a => a.Url.ToLower() == this.Path.ToLower());
                    List<SysResourceEntity> listResult = new List<SysResourceEntity>();
                    while (item != null)
                    {
                        listResult.Insert(0, item);

                        if (item.ParentNum.IsEmpty())
                        {
                            break;
                        }
                        else
                        {
                            if (listSource.Exists(a => a.ResNum == item.ParentNum))
                            {
                                item = listSource.First(a => a.ResNum == item.ParentNum);
                            }
                            else
                            {
                                break;
                            }
                        }
                    }
                    for (int i = 0; i < listResult.Count; i++)
                    {
                        if (i != listResult.Count - 1)
                        {
                            sb.Append("<li>");
                            sb.AppendFormat("<a href=\"{0}\">{1}</a>", listResult[i].Url.IsEmpty() ? "javascript:void(0)" : listResult[i].Url, listResult[i].ResName);
                            sb.Append("<i class=\"icon-angle-right\"></i>");
                            sb.Append("</li>");
                        }
                        else
                        {
                            sb.Append("<li>");
                            sb.AppendFormat("<a href=\"javascript:void(0)\">{0}</a>", listResult[i].ResName);
                            sb.Append("</li>");
                        }
                    }
                }
            }
            sb.Append("</ul>");
            ViewBag.NavMenu = sb.ToString();
        }
Esempio n. 5
0
        /// <summary>
        /// 根据登录用的角色加载菜单信息
        /// </summary>
        private void SetMenu()
        {
            StringBuilder sb = new StringBuilder();
            if (IsLogin() && !this.LoginUser.RoleNum.IsEmpty())
            {
                PowerProvider provider = new PowerProvider();
                List<SysResourceEntity> list = provider.GetAllotedPower(this.LoginUser.RoleNum);

                if (!list.IsNullOrEmpty())
                {
                    foreach (SysResourceEntity parent in list.Where(a => a.ParentNum.IsEmpty()))
                    {
                        StringBuilder sbChild = new StringBuilder();
                        sbChild.AppendFormat("<ul class=\"sub\">");
                        bool flag = false;
                        bool exists = false;
                        foreach (SysResourceEntity child in list.Where(a => a.ParentNum == parent.ResNum))
                        {
                            flag = child.Url.ToLower() == this.Path.ToLower()
                                || (!child.Children.IsNullOrEmpty() && child.Children.Exists(c => c.Url.ToLower() == this.Path.ToLower()))
                                ;
                            if (flag)
                            {
                                exists = true;
                            }
                            //SysResourceEntity ParentResource = null;
                            //SysResourceEntity RootResource = null;

                            //if (child.Url.ToLower() == this.Path.ToLower())
                            //{
                            //    flag = true;
                            //}
                            //else
                            //{
                            //    if (!child.ParentNum.IsEmpty())
                            //    {
                            //        ParentResource = list.FirstOrDefault(a => a.ResNum == child.ParentNum);

                            //        if (ParentResource != null)
                            //        {
                            //            if (ParentResource.Url.ToLower() == this.Path.ToLower())
                            //            {
                            //                flag = true;
                            //            }
                            //            else
                            //            {
                            //                if (!ParentResource.ParentNum.IsEmpty())
                            //                {
                            //                    RootResource = list.FirstOrDefault(a => a.ResNum == ParentResource.ParentNum);

                            //                    if (RootResource != null)
                            //                    {
                            //                        if (RootResource.Url.ToLower() == this.Path.ToLower())
                            //                        {
                            //                            flag = true;
                            //                        }
                            //                    }
                            //                }
                            //            }
                            //        }
                            //    }
                            //}

                            //if (flag)
                            //{
                            //    exists = true;
                            //}

                            sbChild.AppendFormat("<li {0}><a href=\"{1}\">{2}</a></li>", flag ? "class=\"active\"" : "", child.Url.IsEmpty() ? "javascript:void(0)" : child.Url, child.ResName);
                        }
                        sbChild.AppendFormat("</ul>");

                        sb.AppendFormat("<li class=\"has-sub {0}\">", exists ? "active" : "");
                        sb.AppendFormat("<a href=\"javascript:void(0);\">");
                        sb.AppendFormat("<i class=\"{0}\"></i>", parent.CssName.IsEmpty() ? "icon-bookmark-empty" : parent.CssName);
                        sb.AppendFormat("<span class=\"title\">{0}</span>", parent.ResName);
                        sb.AppendFormat("<span class=\"arrow {0}\"></span>", exists ? "open" : "");
                        sb.AppendFormat("</a>");
                        sb.Append(sbChild.ToString());
                        sb.AppendFormat("</li>");
                    }
                }
            }
            ViewBag.MenuItems = sb.ToString();
        }