Exemplo n.º 1
0
        public static bool IsHavePermission(RolePermissionInfo model)
        {
            bool   flag;
            string str = HiCache.Get(string.Format("DataCache-RolePermissions-{0}", model.RoleId)) as string;
            List <RolePermissionInfo> rolePermissionInfos = new List <RolePermissionInfo>();

            if (!string.IsNullOrEmpty(str))
            {
                rolePermissionInfos = JsonConvert.DeserializeObject <List <RolePermissionInfo> >(HiCryptographer.Decrypt(str));
            }
            if ((rolePermissionInfos == null ? true : rolePermissionInfos.Count == 0))
            {
                rolePermissionInfos = (new RolePermissionDao()).GetPermissionsByRoleId(model.RoleId);
                string str1 = HiCryptographer.Encrypt(JsonConvert.SerializeObject(rolePermissionInfos));
                HiCache.Insert(string.Format("DataCache-RolePermissions-{0}", model.RoleId), str1, 360, CacheItemPriority.Normal);
            }
            if ((rolePermissionInfos == null ? false : rolePermissionInfos.Count != 0))
            {
                RolePermissionInfo rolePermissionInfo = rolePermissionInfos.FirstOrDefault <RolePermissionInfo>((RolePermissionInfo p) => p.PermissionId == model.PermissionId);
                flag = rolePermissionInfo != null;
            }
            else
            {
                flag = false;
            }
            return(flag);
        }
Exemplo n.º 2
0
    /// <summary>
    /// Adds permission to role. Called when the "Add permission to role" button is pressed.
    /// Expects the CreatePermission method to be run first.
    /// </summary>
    private bool AddPermissionToRole()
    {
        // Get the permission
        PermissionNameInfo permission = PermissionNameInfoProvider.GetPermissionNameInfo("MyNewPermission", "MyNewModule", null);

        // Get the role
        RoleInfo role = RoleInfoProvider.GetRoleInfo("cmsdeskadmin", SiteContext.CurrentSiteID);

        if ((permission != null) && (role != null))
        {
            // Create new role permission object
            RolePermissionInfo newRolePermission = new RolePermissionInfo();

            // Set the properties
            newRolePermission.PermissionID = permission.PermissionId;
            newRolePermission.RoleID       = role.RoleID;

            // Add permission to role
            RolePermissionInfoProvider.SetRolePermissionInfo(newRolePermission);

            return(true);
        }

        return(false);
    }
Exemplo n.º 3
0
        public static bool IsHavePermission(string itemId, string pageLinkId, int roleId)
        {
            bool flag;


            //if ((pageLinkId == "dpp01" ? false : !(pageLinkId == "00000")))
            //{
            RolePermissionInfo rolePermissionInfo = new RolePermissionInfo()
            {
                PermissionId = RolePermissionInfo.GetPermissionId(itemId, pageLinkId),
                RoleId       = roleId
            };

            flag = ManagerHelper.IsHavePermission(rolePermissionInfo);

            /*}
             *          else
             *          {
             *                  flag = true;
             *          }*/

            if (pageLinkId == "00000")
            {
                return(true);
            }


            return(flag);
        }
Exemplo n.º 4
0
        public static bool IsHavePermission(RolePermissionInfo model)
        {
            string text = HiCache.Get(string.Format("DataCache-RolePermissions-{0}", model.RoleId)) as string;
            List <RolePermissionInfo> list = new List <RolePermissionInfo>();

            if (!string.IsNullOrEmpty(text))
            {
                string value = HiCryptographer.Decrypt(text);
                list = JsonConvert.DeserializeObject <List <RolePermissionInfo> >(value);
            }
            if (list == null || list.Count == 0)
            {
                list = new RolePermissionDao().GetPermissionsByRoleId(model.RoleId);
                string obj = HiCryptographer.Encrypt(JsonConvert.SerializeObject(list));
                HiCache.Insert(string.Format("DataCache-RolePermissions-{0}", model.RoleId), obj, 360, CacheItemPriority.Normal);
            }
            bool result;

            if (list == null || list.Count == 0)
            {
                result = false;
            }
            else
            {
                RolePermissionInfo rolePermissionInfo = list.FirstOrDefault((RolePermissionInfo p) => p.PermissionId == model.PermissionId);
                result = (rolePermissionInfo != null);
            }
            return(result);
        }
Exemplo n.º 5
0
 public static bool AddRolePermission(RolePermissionInfo model)
 {
     return(ManagerHelper.AddRolePermission(new List <RolePermissionInfo>()
     {
         model
     }, 0));
 }
Exemplo n.º 6
0
 public static bool IsHavePermission(string itemId, string pageLinkId, int roleId)
 {
     return(pageLinkId == "dpp01" || pageLinkId == "00000" || ManagerHelper.IsHavePermission(new RolePermissionInfo
     {
         PermissionId = RolePermissionInfo.GetPermissionId(itemId, pageLinkId),
         RoleId = roleId
     }));
 }
Exemplo n.º 7
0
        //public static bool IsHavePermission(RolePermissionInfo model)
        //{
        //    <>c__DisplayClass2 class2;
        //    string str = HiCache.Get(string.Format("DataCache-RolePermissions-{0}", model.RoleId)) as string;
        //    List<RolePermissionInfo> permissionsByRoleId = new List<RolePermissionInfo>();
        //    if (!string.IsNullOrEmpty(str))
        //    {
        //        permissionsByRoleId = JsonConvert.DeserializeObject<List<RolePermissionInfo>>(HiCryptographer.Decrypt(str));
        //    }
        //    if ((permissionsByRoleId == null) || (permissionsByRoleId.Count == 0))
        //    {
        //        permissionsByRoleId = new RolePermissionDao().GetPermissionsByRoleId(model.RoleId);
        //        string str3 = HiCryptographer.Encrypt(JsonConvert.SerializeObject(permissionsByRoleId));
        //        HiCache.Insert(string.Format("DataCache-RolePermissions-{0}", model.RoleId), str3, 360, CacheItemPriority.Normal);
        //    }
        //    if ((permissionsByRoleId == null) || (permissionsByRoleId.Count == 0))
        //    {
        //        return false;
        //    }
        //    return (Enumerable.FirstOrDefault<RolePermissionInfo>(permissionsByRoleId, new Func<RolePermissionInfo, bool>(class2, (IntPtr) this.<IsHavePermission>b__1)) != null);
        //}

        public static bool IsHavePermission(string itemId, string pageLinkId, int roleId)
        {
            if ((pageLinkId == "dpp01") || (pageLinkId == "00000"))
            {
                return(true);
            }
            RolePermissionInfo model = new RolePermissionInfo {
                PermissionId = RolePermissionInfo.GetPermissionId(itemId, pageLinkId),
                RoleId       = roleId
            };

            return(IsHavePermission(model));
        }
Exemplo n.º 8
0
        private string GetFirstNoHeaderNode(System.Collections.Generic.Dictionary <string, NavItem> navItems, string id, out bool isAllCheck, out string nodeKey)
        {
            nodeKey    = string.Empty;
            isAllCheck = true;
            System.Text.StringBuilder stringBuilder = new System.Text.StringBuilder();
            stringBuilder.Append("<div class=\"two fl clearfix\">");
            if (navItems.Values.Count > 0)
            {
                System.Collections.Generic.KeyValuePair <string, NavItem> keyValuePair = navItems.First <System.Collections.Generic.KeyValuePair <string, NavItem> >();
                if (string.IsNullOrEmpty(keyValuePair.Value.SpanName))
                {
                    nodeKey = keyValuePair.Key;
                    int num = 0;
                    using (System.Collections.Generic.Dictionary <string, NavPageLink> .Enumerator enumerator = keyValuePair.Value.PageLinks.GetEnumerator())
                    {
                        while (enumerator.MoveNext())
                        {
                            System.Collections.Generic.KeyValuePair <string, NavPageLink> current = enumerator.Current;
                            string permissionId = RolePermissionInfo.GetPermissionId(id, current.Value.ID);
                            bool   flag         = this.oldPermissions.FirstOrDefault((RolePermissionInfo p) => p.PermissionId == permissionId) != null;
                            if (!flag)
                            {
                                isAllCheck = false;
                            }
                            if (num == 0)
                            {
                                stringBuilder.Append(" <div class=\"titlecheck fl\">");
                                stringBuilder.AppendFormat(" <label class=\"setalign\"> <input type=\"checkbox\" name=\"permissions\" value=\"{0}\" {1}>{2}</label>", permissionId, this.GetInputCheck(flag), current.Value.Title);
                                stringBuilder.Append("</div>");
                            }
                            else
                            {
                                stringBuilder.Append("  <div class=\"twoinerlist fl\">");
                                stringBuilder.AppendFormat(" <label class=\"setalign\"> <input type=\"checkbox\" name=\"permissions\" value=\"{0}\" {1}>{2}</label>", permissionId, this.GetInputCheck(flag), current.Value.Title);
                                stringBuilder.Append("</div>");
                            }
                            num++;
                        }
                        goto IL_185;
                    }
                }
                stringBuilder.Append(" <div class=\"titlecheck fl\">");
                stringBuilder.Append("  &nbsp;");
                stringBuilder.Append("</div>");
            }
IL_185:
            stringBuilder.Append("</div>");
            return(stringBuilder.ToString());
        }
Exemplo n.º 9
0
        private string GetFirstNoHeaderNode(Dictionary <string, NavItem> navItems, string id, out bool isAllCheck, out string nodeKey)
        {
            nodeKey    = string.Empty;
            isAllCheck = true;
            StringBuilder builder = new StringBuilder();

            builder.Append("<div class=\"two fl clearfix\">");
            if (navItems.Values.Count > 0)
            {
                KeyValuePair <string, NavItem> pair = navItems.First <KeyValuePair <string, NavItem> >();
                if (string.IsNullOrEmpty(pair.Value.SpanName))
                {
                    nodeKey = pair.Key;
                    int num = 0;
                    foreach (KeyValuePair <string, NavPageLink> pair2 in pair.Value.PageLinks)
                    {
                        string permissionId = RolePermissionInfo.GetPermissionId(id, pair2.Value.ID);
                        bool   isCheck      = this.oldPermissions.FirstOrDefault <RolePermissionInfo>(p => (p.PermissionId == permissionId)) != null;
                        if (!isCheck)
                        {
                            isAllCheck = false;
                        }
                        if (num == 0)
                        {
                            builder.Append(" <div class=\"titlecheck fl\">");
                            builder.AppendFormat(" <label class=\"setalign\"> <input type=\"checkbox\" name=\"permissions\" value=\"{0}\" {1}>{2}</label>", permissionId, this.GetInputCheck(isCheck), pair2.Value.Title);
                            builder.Append("</div>");
                        }
                        else
                        {
                            builder.Append("  <div class=\"twoinerlist fl\">");
                            builder.AppendFormat(" <label class=\"setalign\"> <input type=\"checkbox\" name=\"permissions\" value=\"{0}\" {1}>{2}</label>", permissionId, this.GetInputCheck(isCheck), pair2.Value.Title);
                            builder.Append("</div>");
                        }
                        num++;
                    }
                }
                else
                {
                    builder.Append(" <div class=\"titlecheck fl\">");
                    builder.Append("  &nbsp;");
                    builder.Append("</div>");
                }
            }
            builder.Append("</div>");
            return(builder.ToString());
        }
Exemplo n.º 10
0
        public static bool IsHavePermission(RolePermissionInfo model)
        {
            string str = HiCache.Get(string.Format("DataCache-RolePermissions-{0}", model.RoleId)) as string;
            List <RolePermissionInfo> permissionsByRoleId = new List <RolePermissionInfo>();

            if (!string.IsNullOrEmpty(str))
            {
                permissionsByRoleId = JsonConvert.DeserializeObject <List <RolePermissionInfo> >(HiCryptographer.Decrypt(str));
            }
            if ((permissionsByRoleId == null) || (permissionsByRoleId.Count == 0))
            {
                permissionsByRoleId = new RolePermissionDao().GetPermissionsByRoleId(model.RoleId);
                string str3 = HiCryptographer.Encrypt(JsonConvert.SerializeObject(permissionsByRoleId));
                HiCache.Insert(string.Format("DataCache-RolePermissions-{0}", model.RoleId), str3, 360, CacheItemPriority.Normal);
            }
            return(((permissionsByRoleId != null) && (permissionsByRoleId.Count != 0)) && (permissionsByRoleId.FirstOrDefault <RolePermissionInfo>(p => (p.PermissionId == model.PermissionId)) != null));
        }
Exemplo n.º 11
0
 private string GetNodeString(System.Collections.Generic.Dictionary <string, NavPageLink> pageLinks, string id, out bool isAllCheck)
 {
     isAllCheck = true;
     System.Text.StringBuilder stringBuilder = new System.Text.StringBuilder();
     foreach (System.Collections.Generic.KeyValuePair <string, NavPageLink> current in pageLinks)
     {
         string permissionId = RolePermissionInfo.GetPermissionId(id, current.Value.ID);
         bool   flag         = this.oldPermissions.FirstOrDefault((RolePermissionInfo p) => p.PermissionId == permissionId) != null;
         if (!flag)
         {
             isAllCheck = false;
         }
         stringBuilder.Append(" <label class=\"setalign\">");
         stringBuilder.AppendFormat(" <input name=\"permissions\" value=\"{0}\" type=\"checkbox\" {1}>{2}", permissionId, this.GetInputCheck(flag), current.Value.Title);
         stringBuilder.Append(" </label>");
     }
     return(stringBuilder.ToString());
 }
Exemplo n.º 12
0
        private string GetNodeString(Dictionary <string, NavPageLink> pageLinks, string id, out bool isAllCheck)
        {
            isAllCheck = true;
            StringBuilder builder = new StringBuilder();

            foreach (KeyValuePair <string, NavPageLink> pair in pageLinks)
            {
                string permissionId = RolePermissionInfo.GetPermissionId(id, pair.Value.ID);
                bool   isCheck      = this.oldPermissions.FirstOrDefault <RolePermissionInfo>(p => (p.PermissionId == permissionId)) != null;
                if (!isCheck)
                {
                    isAllCheck = false;
                }
                builder.Append(" <label class=\"setalign\">");
                builder.AppendFormat(" <input name=\"permissions\" value=\"{0}\" type=\"checkbox\" {1}>{2}", permissionId, this.GetInputCheck(isCheck), pair.Value.Title);
                builder.Append(" </label>");
            }
            return(builder.ToString());
        }
Exemplo n.º 13
0
        public HttpResponseMessage UnassignPermissionsFromRoles([FromBody] JObject postData)
        {
            int[] roleIds;
            int[] permissionIds;
            //parsing of the postdata
            try
            {
                roleIds       = postData["roleIds"].ToObject <int[]>();
                permissionIds = postData["permissionIds"].ToObject <int[]>();
            }
            catch (Exception e)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, new { errorMessage = e.Message }));
            }

            if (roleIds != null && permissionIds != null)
            {     //for every given role
                foreach (int roleId in roleIds)
                { //and for every given permission
                    foreach (var permissionId in permissionIds)
                    {
                        try
                        {
                            // Gets the object representing the role-permission relationship
                            RolePermissionInfo deleteRolePermission = RolePermissionInfoProvider.GetRolePermissionInfo(roleId, permissionId);

                            if (deleteRolePermission != null)
                            {
                                // Removes the permission from the role
                                RolePermissionInfoProvider.DeleteRolePermissionInfo(deleteRolePermission);
                            }
                        }
                        catch (Exception e)
                        {
                            return(Request.CreateResponse(HttpStatusCode.BadRequest, new { errorMessage = e.Message }));
                        }
                    }
                }
                return(Request.CreateResponse(HttpStatusCode.OK, new { }));
            }
            return(Request.CreateResponse(HttpStatusCode.BadRequest, new { errorMessage = "No roleIDs or no permissionIDs provided" }));
        }
Exemplo n.º 14
0
        public HttpResponseMessage AssignPermissionsToRoles([FromBody] JObject postData)
        {
            int[] roleIds;
            int[] permissionIds;
            //the parsing of the postdata
            try
            {
                roleIds       = postData["roleIds"].ToObject <int[]>();
                permissionIds = postData["permissionIds"].ToObject <int[]>();
            }
            catch (Exception e)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, new { errorMessage = e.Message }));
            }

            if (roleIds != null && permissionIds != null)
            {
                RolePermissionInfo newRolePermission;

                //for every given role
                foreach (int roleId in roleIds)
                { //and every given permission
                    foreach (int permissionId in permissionIds)
                    {
                        newRolePermission = new RolePermissionInfo();
                        try
                        {   //join the role with the permission
                            newRolePermission.RoleID       = roleId;
                            newRolePermission.PermissionID = permissionId;
                            RolePermissionInfoProvider.SetRolePermissionInfo(newRolePermission);
                            newRolePermission = null;
                        }
                        catch (Exception e)
                        {
                            return(Request.CreateResponse(HttpStatusCode.BadRequest, new { errorMessage = e.Message }));
                        }
                    }
                }
                return(Request.CreateResponse(HttpStatusCode.OK, new { }));
            }
            return(Request.CreateResponse(HttpStatusCode.BadRequest, new { errorMessage = "No roleIDs or no permissionIDs provided" }));
        }
        private void SaveRolePermission(HttpContext context)
        {
            context.Response.ContentType = "application/json";
            StringBuilder builder = new StringBuilder("{");
            int           roleId  = 0;

            try
            {
                roleId = int.Parse(context.Request.Form["roleId"]);
            }
            catch (Exception)
            {
                builder.Append("\"status\":\"0\",\"Desciption\":\"参与错误!\"}");
                context.Response.Write(builder.ToString());
                return;
            }
            string str = context.Request.Form["rolePermissions"];
            List <RolePermissionInfo> models = new List <RolePermissionInfo>();

            if (!string.IsNullOrEmpty(str))
            {
                foreach (string str2 in str.Split(new char[] { ',' }))
                {
                    RolePermissionInfo item = new RolePermissionInfo
                    {
                        RoleId       = roleId,
                        PermissionId = str2
                    };
                    models.Add(item);
                }
            }
            if (ManagerHelper.AddRolePermission(models, roleId))
            {
                builder.Append("\"status\":\"1\",\"Desciption\":\"操作成功!\"}");
                context.Response.Write(builder.ToString());
            }
            else
            {
                builder.Append("\"status\":\"1\",\"Desciption\":\"操作成功,该部门未设置任何权限!\"}");
                context.Response.Write(builder.ToString());
            }
        }
Exemplo n.º 16
0
        public List <RolePermissionInfo> GetPermissionsByRoleId(int roleId)
        {
            List <RolePermissionInfo> list = new List <RolePermissionInfo>();
            string    query            = "SELECT [PermissionId],[RoleId] FROM [aspnet_RolePermissions] where RoleId=@RoleId";
            DbCommand sqlStringCommand = this.db.GetSqlStringCommand(query);

            this.db.AddInParameter(sqlStringCommand, "@RoleId", DbType.Int32, roleId);
            using (IDataReader reader = this.db.ExecuteReader(sqlStringCommand))
            {
                while (reader.Read())
                {
                    RolePermissionInfo item = new RolePermissionInfo {
                        PermissionId = reader["PermissionId"].ToString(),
                        RoleId       = roleId
                    };
                    list.Add(item);
                }
            }
            return(list);
        }
Exemplo n.º 17
0
    /// <summary>
    /// Removes permission from role. Called when the "Remove permission from role" button is pressed.
    /// Expects the AddPermissionToRole method to be run first.
    /// </summary>
    private bool RemovePermissionFromRole()
    {
        // Get the permission
        PermissionNameInfo permission = PermissionNameInfoProvider.GetPermissionNameInfo("MyNewPermission", "MyNewModule", null);

        // Get the role
        RoleInfo role = RoleInfoProvider.GetRoleInfo("cmsdeskadmin", SiteContext.CurrentSiteID);

        if ((permission != null) && (role != null))
        {
            // Get the role permission
            RolePermissionInfo deleteRolePermission = RolePermissionInfoProvider.GetRolePermissionInfo(role.RoleID, permission.PermissionId);

            // Remove permission from role
            RolePermissionInfoProvider.DeleteRolePermissionInfo(deleteRolePermission);

            return(true);
        }

        return(false);
    }
Exemplo n.º 18
0
    /// <summary>
    /// Adds permission to role. Called when the "Add permission to role" button is pressed.
    /// Expects the CreatePermission method to be run first.
    /// </summary>
    private bool AddPermissionToRole()
    {
        // Get the permission
        PermissionNameInfo permission = PermissionNameInfoProvider.GetPermissionNameInfo("MyNewPermission", "MyNewModule", null);

        // Get the role
        RoleInfo role = RoleInfoProvider.GetRoleInfo("cmsdeskadmin", CMSContext.CurrentSiteID);

        if ((permission != null) && (role != null))
        {
            // Create new role permission object
            RolePermissionInfo newRolePermission = new RolePermissionInfo();

            // Set the properties
            newRolePermission.PermissionID = permission.PermissionId;
            newRolePermission.RoleID = role.RoleID;

            // Add permission to role
            RolePermissionInfoProvider.SetRolePermissionInfo(newRolePermission);

            return true;
        }

        return false;
    }
Exemplo n.º 19
0
 public static RolePermissionVM ToVM(this RolePermissionInfo roleInfo)
 {
     return(AutoMapper.Mapper.Map <RolePermissionVM>(roleInfo));
 }
Exemplo n.º 20
0
 public static bool AddRolePermission(RolePermissionInfo model)
 {
     return(AddRolePermission(new List <RolePermissionInfo> {
         model
     }, 0));
 }