コード例 #1
0
ファイル: ManagerHelper.cs プロジェクト: zwkjgs/XKD
        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);
        }
コード例 #2
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));
        }