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); } } } } }
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()); }
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()); }
/// <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(); }
/// <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(); }