Exemplo n.º 1
0
        public static string ActionPermission(this UrlHelper Url)
        {
            var controllerName = Url.RequestContext.RouteData.Values["controller"].ToString();
            var actionName     = Url.RequestContext.RouteData.Values["action"].ToString();

            return(PermissionParticle.UrlPermission(actionName, controllerName) ? Url.Action() : "/Permission/UnPermissionMessage");
        }
Exemplo n.º 2
0
        public JsonResult EditPermissionLine()
        {
            Guid platformGuid = GetPlatformId();

            if (!string.IsNullOrEmpty(Request.Form["Id"]))
            {
                Guid id = Guid.Parse(Request.Form["Id"]);

                using (FlyDbContext ctx = new FlyDbContext())
                {
                    PermissionLine pl = ctx.PermissionLines.Where(o => o.Group.PlatformId == platformGuid && o.Id == id).FirstOrDefault();
                    UpdateModel(pl);
                    ctx.SaveChanges();
                    var PermissionLines = System.Web.HttpContext.Current.Session["PermissionLines"] as List <ViewPermissionLine>;
                    var i = (from t in PermissionLines where t.Id == id select t).Count();
                    if (i > 0)
                    {
                        PermissionParticle.SetPermission();
                    }
                    return(new JsonResult()
                    {
                        Data = new { resultCode = 1, message = "操作完成" }
                    });
                }
            }
            else
            {
                return(new JsonResult()
                {
                    Data = new { resultCode = 0, message = "非法请求" }
                });
            }
        }
Exemplo n.º 3
0
        public JsonResult EditPermissionGroup(PermissionGroup pg)
        {
            Guid platformGuid = GetPlatformId();

            if (!string.IsNullOrEmpty(Request.Form["Id"]))
            {
                Guid            id       = Guid.Parse(Request.Form["Id"]);
                PermissionGroup targetpg = DbContext.PermissionGroups.Where(o => o.PlatformId == platformGuid && o.Id == id).FirstOrDefault();
                targetpg.DisplayName = pg.DisplayName;
                targetpg.Tag         = pg.Tag;
                targetpg.Url         = pg.Url;
                targetpg.SN          = pg.SN;
                targetpg.Headshot    = pg.Headshot;
                if (targetpg.Platform.PermissionGroups.Count(p => p.Id == pg.ParentId) > 0 && targetpg.Id != pg.ParentId)
                {
                    if (pg.ParentId == Guid.Empty)
                    {
                        targetpg.ParentId = null;
                    }
                    else
                    {
                        targetpg.ParentId = pg.ParentId;
                    }
                }
                else
                {
                    targetpg.ParentId = null;
                }

                DbContext.SaveChanges();
                var PermissionGroups = System.Web.HttpContext.Current.Session["PermissionGroups"] as List <ViewPermissionGroup>;
                var i = (from t in PermissionGroups where t.Id == targetpg.Id select t).Count();
                if (i > 0)
                {
                    PermissionParticle.SetPermission();
                }
                return(new JsonResult()
                {
                    Data = new { resultCode = 1, message = "操作完成" }
                });
            }
            else
            {
                return(new JsonResult()
                {
                    Data = new { resultCode = 0, message = "非法请求" }
                });
            }
        }
Exemplo n.º 4
0
        public JsonResult Edit(Role role, List <Guid> permissionlineIds)
        {
            if (role.Id != Guid.Empty)
            {
                Guid platformId = GetPlatformId();
                Role targetRole = DbContext.Roles.Where(p => p.PlatformId == platformId && p.Id == role.Id).FirstOrDefault();
                if (targetRole != null)
                {
                    targetRole.Name            = role.Name;
                    targetRole.CustomAttribute = role.CustomAttribute;
                    targetRole.Remark          = role.Remark;

                    var oldRolePermissions = DbContext.RolePermissions.Where(p => p.RoleId == targetRole.Id);
                    DbContext.RolePermissions.RemoveRange(oldRolePermissions);

                    if (permissionlineIds != null && permissionlineIds.Count > 0)
                    {
                        List <RolePermission> rolePsermissionList = new List <RolePermission>();
                        foreach (Guid pid in permissionlineIds)
                        {
                            rolePsermissionList.Add(new RolePermission()
                            {
                                PermissionLineId = pid, RoleId = role.Id
                            });
                        }
                        DbContext.RolePermissions.AddRange(rolePsermissionList);
                    }
                    DbContext.SaveChanges();
                    if (User.IsInRole(targetRole.Name))
                    {
                        PermissionParticle.SetPermission();
                    }
                }
                return(Json(new { resultCode = 1, message = "操作完成" }));
            }
            else
            {
                return(Json(new { resultCode = 0, message = "非法的请求" }));
            }
        }
Exemplo n.º 5
0
        public async Task<JsonResult> Edit(Employee emp, List<Guid> roleIds)
        {

            Employee targetEmp = await UserManager.FindByIdAsync(emp.Id);
            targetEmp.Job = emp.Job;
            targetEmp.Address = emp.Address;
            targetEmp.CustomAttribute = emp.CustomAttribute;
            targetEmp.Email = emp.Email;
            targetEmp.Name = emp.Name;
            targetEmp.OrganizationId = emp.OrganizationId;
            targetEmp.PhoneNumber = emp.PhoneNumber;
            targetEmp.QQ = emp.QQ;
            targetEmp.Remark = emp.Remark;
            targetEmp.Sex = emp.Sex;
            targetEmp.Status = emp.Status;
            targetEmp.ZipCode = emp.ZipCode;
            while (targetEmp.Roles.Count > 0)
            {
                targetEmp.Roles.Remove(targetEmp.Roles.ToList()[0]);
            }
            if (roleIds.Count > 0)
            {
                foreach (var roleId in roleIds)
                {
                    targetEmp.Roles.Add(new EmployeeRole() { RoleId = roleId });
                }
            }
            var result = await UserManager.UpdateAsync(targetEmp);
            if (result.Succeeded)
            {
                if (roleIds.Count > 0 && User.Identity.GetUserId() == targetEmp.Id.ToString())
                    PermissionParticle.SetPermission();
                return Json(new { resultCode = 1, message = "修改成功" });
            }
            else
            {
                return Json(new { resultCode = 0, message = "修改失败" });
            }
        }
Exemplo n.º 6
0
 public static string ActionPermissionEmpty(this UrlHelper Url, string actionName, string controllerName)
 {
     return(PermissionParticle.UrlPermission(actionName, controllerName) ? Url.Action(actionName, controllerName) : string.Empty);
 }
Exemplo n.º 7
0
 public static Boolean HasTagPermission(string htmlTag)
 {
     //需啊一个根据tag判断是否显示的方法
     return(PermissionParticle.TagPermissionLine(htmlTag) ? true : false);
 }
Exemplo n.º 8
0
 public static Boolean HasActionPermission(string actionName, string controllerName)
 {
     return(PermissionParticle.UrlPermission(actionName, controllerName) ? true : false);
 }
Exemplo n.º 9
0
 public static MvcHtmlString NoActionPermission(this HtmlHelper htmlHelper, string actionName, string controllerName, string contentString)
 {
     return(PermissionParticle.UrlPermission(actionName, controllerName) ?  MvcHtmlString.Empty:new MvcHtmlString(contentString));
 }
Exemplo n.º 10
0
 /// <summary>
 /// easyUI 扩展方法
 /// </summary>
 /// <param name="htmlHelper">此方法扩展的 HTML 帮助器实例。</param>
 /// <param name="linkText">定位点元素的内部文本</param>
 /// <param name="permissionKey">权限标标识</param>
 /// <param name="htmlAttributes">一个对象,其中包含要为该元素设置的 HTML 特性。</param>
 /// <returns> 一个定位点元素(a 元素)。</returns>
 public static MvcHtmlString ActionLinkPermission(this HtmlHelper htmlHelper, string linkText, string htmlTag, IDictionary <string, object> htmlAttributes)
 {
     return(PermissionParticle.TagPermissionLine(htmlTag) ? MvcHtmlString.Create(GenerateLinkInternal(htmlHelper.ViewContext.RequestContext, linkText, htmlAttributes)) : MvcHtmlString.Empty);
 }
Exemplo n.º 11
0
 public static string ActionPermission(this UrlHelper Url, string actionName, string controllerName, RouteValueDictionary routeValues, string protocol, string hostName)
 {
     return(PermissionParticle.UrlPermission(actionName, controllerName) ? Url.Action(actionName, controllerName, routeValues, protocol, hostName) : "/Permission/UnPermissionMessage");
 }
Exemplo n.º 12
0
 public static string ActionPermission(this UrlHelper Url, string actionName, string controllerName)
 {
     return(PermissionParticle.UrlPermission(actionName, controllerName) ? Url.Action(actionName, controllerName) : "/Permission/UnPermissionMessage");
 }