示例#1
0
        /// <summary>
        /// 写入日志
        /// </summary>
        /// <param name="logContent">日志内容</param>
        /// <param name="logType">日志类型</param>
        public static void WriteSysLog(string logContent, EnumType.LogType logType)
        {
            string userName = null;

            try
            {
                userName = Base_UserService.GetCurrentUser().UserName;
            }
            catch
            {
            }
            Base_SysLog newLog = new Base_SysLog
            {
                Id         = Guid.NewGuid().ToSequentialGuid(),
                LogType    = logType.ToString(),
                LogContent = logContent.Replace("\r\n", "<br />").Replace("  ", "&nbsp;&nbsp;"),
                OpTime     = DateTime.Now.ToCstTime(),
                OpUserName = userName
            };

            Task.Run(() =>
            {
                try
                {
                    LoggerFactory.GetLogger().WriteSysLog(newLog);
                }
                catch
                {
                }
            });
        }
示例#2
0
        /// <summary>
        /// 更新用户权限缓存
        /// </summary>
        /// <param name="userId"><用户Id/param>
        public static void UpdateUserPermissionCache(string userId)
        {
            string        cacheKey    = BuildCacheKey(userId);
            List <string> permissions = new List <string>();

            BaseService <Base_PermissionUser> _db = new BaseService <Base_PermissionUser>();
            var userPermissions   = _db.GetIQueryable().Where(x => x.UserId == userId).Select(x => x.PermissionValue).ToList();
            var theUser           = _db.Service.GetIQueryable <Base_User>().Where(x => x.UserId == userId).FirstOrDefault();
            var roleIdList        = Base_UserService.GetUserRoleIds(userId);
            var rolePermissions   = _db.Service.GetIQueryable <Base_PermissionRole>().Where(x => roleIdList.Contains(x.RoleId)).GroupBy(x => x.PermissionValue).Select(x => x.Key).ToList();
            var existsPermissions = userPermissions.Concat(rolePermissions).Distinct();

            permissions = existsPermissions.ToList();
            CacheHelper.Cache.SetCache(cacheKey, permissions);
        }