Ejemplo n.º 1
0
        /// <summary>
        /// 检查权限
        /// </summary>
        /// <param name="objectid"></param>
        /// <param name="operationType"></param>
        /// <returns></returns>
        private static bool CheckAccess(string objectid, OperationType operationType, string userId)
        {
            var data = UserPrivilegesCache.GetUserPrivileges(string.IsNullOrEmpty(userId) ? UserIdentityUtil.GetCurrentUser()?.Id : userId)
                       .Where(item => item.objectid == objectid)
                       .FirstOrDefault();

            return(data != null && (data.privilege & (int)operationType) == (int)operationType);
        }
Ejemplo n.º 2
0
        public static IEnumerable <sys_menu> Filter(this IEnumerable <sys_menu> sysMenus)
        {
            var privileges = UserPrivilegesCache.GetUserPrivileges(UserIdentityUtil.GetCurrentUserId()).Where(item => item.object_type == nameof(sys_menu));

            return(sysMenus.Where(item =>
            {
                var data = privileges.FirstOrDefault(e => e.objectid == item.sys_menuId);
                return data != null && data.privilege > 0;
            }));
        }