public async Task <ApiResult <List <TreeListSysRoleDto> > > GetRoleTreeList(string Id) { ApiResult <List <TreeListSysRoleDto> > res = new ApiResult <List <TreeListSysRoleDto> >(); res.data = new List <TreeListSysRoleDto>(); TokenModelBeta token = JwtToken.ParsingJwtToken(HttpContext); try { var RoleList = _mapper.Map <List <TreeListSysRoleDto> >(await _sysRoleService.QueryAsync(s => s.OrganizeId == Id)); var sysRole = new List <TreeListSysRoleDto>(); sysRole.AddRange(RoleList); //如果不是管理员 if (!token.IsAdmin) { var sysRoleInfo = sysRole.Where(s => s.key == token.Role).FirstOrDefault(); sysRoleInfo.children = new List <TreeListSysRoleDto>(); sysRoleInfo.children.AddRange(TreeGenerateTools.TreeGroup(RoleList.Where(s => s.key != sysRoleInfo.key).ToList(), sysRoleInfo.key)); res.data.Add(sysRoleInfo); } else { res.data.AddRange(TreeGenerateTools.TreeGroup(RoleList, "00000000-0000-0000-0000-000000000000")); } } catch (Exception ex) { res.code = (int)ApiEnum.Error; res.message = "异常:" + ex.Message; } return(await Task.Run(() => res)); }
public async Task <ApiResult <string> > Put(string Id, EditSysRoleDto Params) { ApiResult <string> res = new ApiResult <string>(); TokenModelBeta token = JwtToken.ParsingJwtToken(HttpContext); try { SysRole sysRoleInfo = _mapper.Map <SysRole>(Params); sysRoleInfo.Id = Id; var IsSuccess = await _sysRoleService.UpdateAsync(sysRoleInfo); if (!IsSuccess) { res.code = (int)ApiEnum.Failure; res.message = "错误:修改角色失败"; } else { //添加权限 //Params.treeModels res = await _sysRoleAuthorizeService.AddSysModuleActionsAsync(Id, token.Id, Params.treeModels); } } catch (Exception ex) { res.code = (int)ApiEnum.Error; res.message = "异常:" + ex.Message; } return(await Task.Run(() => res)); }
public async Task <ApiResult <string> > Post(EditSysUserDto Params) { ApiResult <string> res = new ApiResult <string>(); TokenModelBeta token = JwtToken.ParsingJwtToken(HttpContext); //开启事务 try { SysUser userInfo = _mapper.Map <SysUser>(Params); userInfo.Id = Guid.NewGuid().ToString(); userInfo.CreatorTime = DateTime.Now; userInfo.CreatorId = token.Id; await _userService.AddAsync(userInfo); SysUserLogon userLogonInfo = _mapper.Map <SysUserLogon>(Params); userLogonInfo.Id = Guid.NewGuid().ToString(); userLogonInfo.UserId = userInfo.Id; userLogonInfo.LogOnCount = 0; userLogonInfo.UserSecretkey = Md5Crypt.Encrypt(Guid.NewGuid().ToString()); userLogonInfo.UserPassword = Md5Crypt.Encrypt(DES3Encrypt.EncryptString(userLogonInfo.UserPassword.ToLower(), userLogonInfo.UserSecretkey).ToLower(), false).ToLower(); userLogonInfo.PasswordSecurity = UniversalTool.PassSecurityValidation(userLogonInfo.UserPassword); await _userLogonService.AddAsync(userLogonInfo); } catch (Exception ex) { res.code = (int)ApiEnum.Error; res.message = "异常:" + ex.Message; } //事务结束 return(await Task.Run(() => res)); }
public async Task <ApiResult <string> > Post(EditSysOrganizeDto Params) { ApiResult <string> res = new ApiResult <string>(); TokenModelBeta token = JwtToken.ParsingJwtToken(HttpContext); try { SysOrganize sysOrganizeInfo = _mapper.Map <SysOrganize>(Params); sysOrganizeInfo.CreatorTime = DateTime.Now; sysOrganizeInfo.CreatorUserId = token.Id; sysOrganizeInfo.Id = Guid.NewGuid().ToString(); sysOrganizeInfo.DeleteMark = false; var IsSuccess = await _sysOrganizeService.AddAsync(sysOrganizeInfo); if (!IsSuccess) { res.code = (int)ApiEnum.Failure; res.message = "错误:添加组织失败"; } } catch (Exception ex) { res.code = (int)ApiEnum.Error; res.message = "异常:" + ex.Message; } return(await Task.Run(() => res)); }
public async Task <ApiResult <LoginSysUserDto> > Post() { ApiResult <LoginSysUserDto> res = new ApiResult <LoginSysUserDto>(); res.data = new LoginSysUserDto(); try { TokenModelBeta token = JwtToken.ParsingJwtToken(HttpContext); //获取用户信息 string ExpirationTime = DateTime.Now.AddSeconds(_requirement.Expiration.TotalSeconds).ToString(); var claims = new List <Claim> { new Claim(JwtRegisteredClaimNames.Jti, token.Id), new Claim(ClaimTypes.Name, token.Name), new Claim(ClaimTypes.Gender, "Web"), new Claim(ClaimTypes.GroupSid, token.Organize), new Claim(ClaimTypes.Authentication, token.IsAdmin == true ? "1" : "0"), new Claim(ClaimTypes.Expiration, ExpirationTime) }; claims.Add(new Claim(ClaimTypes.Role, token.Role)); //用户标识 var identity = new ClaimsIdentity(JwtBearerDefaults.AuthenticationScheme); identity.AddClaims(claims); res.data.token = JwtToken.BuildJwtToken(claims.ToArray(), _requirement).token; res.data.expires = ExpirationTime; } catch (Exception ex) { res.code = (int)ApiEnum.Failure; res.message = "刷新Token失败"; } return(res); }
public async Task <ApiResult <List <TreeListSysOrganizeDto> > > GetOrganizeTreeList() { ApiResult <List <TreeListSysOrganizeDto> > res = new ApiResult <List <TreeListSysOrganizeDto> >(); res.data = new List <TreeListSysOrganizeDto>(); TokenModelBeta token = JwtToken.ParsingJwtToken(HttpContext); try { var OrganizeList = _mapper.Map <List <TreeListSysOrganizeDto> >(await _sysOrganizeService.QueryAsync()); List <TreeListSysOrganizeDto> TreeList = new List <TreeListSysOrganizeDto>(); TreeList.AddRange(OrganizeList.FindAll(s => s.key == token.Organize)); foreach (var item in TreeList) { item.children = new List <TreeListSysOrganizeDto>(); item.children.AddRange(TreeGenerateTools.TreeGroup(OrganizeList.Where(s => s.key == item.key).ToList(), item.key)); res.data.Add(item); } } catch (Exception ex) { res.code = (int)ApiEnum.Error; res.message = "异常:" + ex.Message; } return(await Task.Run(() => res)); }
public async Task <ApiResult <string> > Put(string Id, EditSysOrganizeDto Params) { ApiResult <string> res = new ApiResult <string>(); TokenModelBeta token = JwtToken.ParsingJwtToken(HttpContext); try { SysOrganize sysOrganizeInfo = _mapper.Map <SysOrganize>(Params); sysOrganizeInfo.Id = Id; var IsSuccess = await _sysOrganizeService.UpdateAsync(sysOrganizeInfo); if (!IsSuccess) { res.code = (int)ApiEnum.Failure; res.message = "错误:修改组织失败"; } } catch (Exception ex) { res.code = (int)ApiEnum.Error; res.message = "异常:" + ex.Message; } return(await Task.Run(() => res)); }
static async Task Acceptor(HttpContext context, Func <Task> n) { if (!context.WebSockets.IsWebSocketRequest) { return; } CancellationToken ct = context.RequestAborted; socket = await context.WebSockets.AcceptWebSocketAsync(); TokenModelBeta tokenModel = JwtToken.SerializeJWT(context.Request.Query["Authorization"].ToString()); //处理用户连接 //添加Socket进集合 存在就取出 不存在就加入 if (!_sockets.ContainsKey(tokenModel.Id)) { _sockets.TryAdd(tokenModel.Id, socket); } else { if (_sockets[tokenModel.Id] != socket) { _sockets[tokenModel.Id] = socket; } } //处理消息 await EchoLoop(tokenModel.Id, ct); }
public async Task <ApiResult <string> > Upload(IFormCollection Files, int FileType) { ApiResult <string> res = new ApiResult <string>(); TokenModelBeta token = JwtToken.ParsingJwtToken(HttpContext); try { //var form = Request.Form;//直接从表单里面获取文件名不需要参数 string dd = Files["File"]; var form = Files;//定义接收类型的参数 Hashtable hash = new Hashtable(); IFormFileCollection cols = Request.Form.Files; if (cols == null || cols.Count == 0) { res.code = (int)ApiEnum.Failure; res.message = "没有上传文件"; return(res); } foreach (IFormFile file in cols) { //定义图片数组后缀格式 string[] LimitPictureType = { ".JPG", ".JPEG", ".GIF", ".PNG", ".BMP" }; //获取图片后缀是否存在数组中 string currentPictureExtension = Path.GetExtension(file.FileName).ToUpper(); if (LimitPictureType.Contains(currentPictureExtension)) { string new_path = ""; switch (FileType) { case 0: new_path = Path.Combine("Uploads/HeadImage/", token.Id + DateTime.Now.ToString("yyyy-mm-ddhhddss") + ".JPG"); break; } var path = Path.Combine(Directory.GetCurrentDirectory(), new_path); using (var stream = new FileStream(path, FileMode.Create)) { //再把文件保存的文件夹中 file.CopyTo(stream); hash.Add("file", "/" + new_path); res.data = new_path; } } else { res.code = (int)ApiEnum.Failure; res.message = "请上传指定格式的图片"; return(res); } } return(res); } catch (Exception ex) { res.code = (int)ApiEnum.Failure; res.message = "上传失败"; return(res); } }
public async Task <ApiResult <DetailsSysUserDto> > GetTokenUserDetails() { ApiResult <DetailsSysUserDto> res = new ApiResult <DetailsSysUserDto>(); TokenModelBeta token = JwtToken.ParsingJwtToken(HttpContext); res.data = _mapper.Map <DetailsSysUserDto>(await _userService.QueryAsyncById(token.Id)); return(await Task.Run(() => res)); }
public async Task <ApiResult <DetailsSysOrganizeDto> > Get(string Id) { ApiResult <DetailsSysOrganizeDto> res = new ApiResult <DetailsSysOrganizeDto>(); TokenModelBeta token = JwtToken.ParsingJwtToken(HttpContext); try { res.data = _mapper.Map <DetailsSysOrganizeDto>(await _sysOrganizeService.QuerySysOrganizeByIDAsync(Id)); } catch (Exception ex) { res.code = (int)ApiEnum.Error; res.message = "异常:" + ex.Message; } return(await Task.Run(() => res)); }
public async Task <ApiResult <string> > Post(EditSysModuleDto Params) { ApiResult <string> res = new ApiResult <string>(); TokenModelBeta token = JwtToken.ParsingJwtToken(HttpContext); try { //添加模块 SysModule sysModuleInfo = _mapper.Map <SysModule>(Params); sysModuleInfo.CreatorTime = DateTime.Now; sysModuleInfo.CreatorUserId = token.Id; sysModuleInfo.Id = Guid.NewGuid().ToString(); sysModuleInfo.DeleteMark = false; var IsSuccess = await _sysModuleService.AddAsync(sysModuleInfo); if (!IsSuccess) { res.code = (int)ApiEnum.Failure; res.message = "错误:添加模块失败"; } //添加模块请求 List <SysModuleAction> AddsysModuleActionList = _mapper.Map <List <SysModuleAction> >(Params.SysModuleActionDtos.Where(s => s.Id == null)); if (AddsysModuleActionList.Count() > 0) { foreach (var item in AddsysModuleActionList) { item.Id = Guid.NewGuid().ToString(); item.ModuleId = sysModuleInfo.Id; item.CreatorTime = DateTime.Now; item.CreatorUserId = token.Id; } IsSuccess = await _sysModuleActionService.AddListAsync(AddsysModuleActionList); if (!IsSuccess) { res.code = (int)ApiEnum.Failure; res.message = "错误:添加模块失败"; } } } catch (Exception ex) { res.code = (int)ApiEnum.Error; res.message = "异常:" + ex.Message; } return(await Task.Run(() => res)); }
public async Task <ApiResult <List <TreeListSysModuleDto> > > GetModuleTreeList() { ApiResult <List <TreeListSysModuleDto> > res = new ApiResult <List <TreeListSysModuleDto> >(); TokenModelBeta token = JwtToken.ParsingJwtToken(HttpContext); try { var ModuleList = await _sysModuleService.QueryAsync(s => s.DeleteMark == false && s.EnabledMark == true); res.data = TreeGenerateTools.TreeGroup(_mapper.Map <List <TreeListSysModuleDto> >(ModuleList), "00000000-0000-0000-0000-000000000000"); } catch (Exception ex) { res.code = (int)ApiEnum.Error; res.message = "异常:" + ex.Message; } return(await Task.Run(() => res)); }
public async Task <ApiResult <DetailsSysRoleDto> > Get(string Id) { ApiResult <DetailsSysRoleDto> res = new ApiResult <DetailsSysRoleDto>(); TokenModelBeta token = JwtToken.ParsingJwtToken(HttpContext); try { res.data = _mapper.Map <DetailsSysRoleDto>(await _sysRoleService.QuerySysModuleByIdAndUserIdAsync(Id, token.Id)); if (token.Role == Id) { res.data.IsDisabled = true; } } catch (Exception ex) { res.code = (int)ApiEnum.Error; res.message = "异常:" + ex.Message; } return(await Task.Run(() => res)); }
static async Task Acceptor(HttpContext context, Func <Task> n) { if (!context.WebSockets.IsWebSocketRequest) { return; } CancellationToken ct = context.RequestAborted; socket = await context.WebSockets.AcceptWebSocketAsync(); TokenModelBeta tokenModel = JwtToken.SerializeJWT(context.Request.Query["Authorization"].ToString()); //处理用户连接 //添加Socket进集合 存在就取出 不存在就加入 if (!_sockets.ContainsKey(tokenModel.Id)) { //用户第一次连接上来 给一个欢迎消息 _sockets.TryAdd(tokenModel.Id, socket); NoticetemplateModule msg = new NoticetemplateModule(); msg.id = "0"; msg.title = "欢迎使用"; msg.read = false; msg.status = "doing"; msg.type = "通知"; msg.description = "已成功连接WebSocket"; msg.avatar = ""; msg.creatorUserName = "******"; msg.datetime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); msg.RecriverId = tokenModel.Id; await SendStringAsync(socket, JsonConvert.SerializeObject(msg)); } else { if (_sockets[tokenModel.Id] != socket) { _sockets[tokenModel.Id] = socket; } } //处理消息 await EchoLoop(tokenModel.Id, ct); }
public async Task <ApiResult <List <CommonTreeModel> > > GetModuleTreeAuthList(string Id) { ApiResult <List <CommonTreeModel> > res = new ApiResult <List <CommonTreeModel> >(); res.data = new List <CommonTreeModel>(); TokenModelBeta token = JwtToken.ParsingJwtToken(HttpContext); try { //获取可以看到的 模块 var ModuleList = await _sysRoleAuthorizeService.GetRoleModuleByIdAsync(token.Role); if (ModuleList.Count > 0) { //查询这个角色是否是菜单 var role = await _sysRoleService.QueryByIDAsync(Id); //如果不是菜单 if (!string.IsNullOrEmpty(Id) && !UniversalTool.ModuleIsNull(role)) { //获取传入角色的权限信息 List <string> roleKeyList = (await _sysRoleAuthorizeService.GetRoleModuleByIdAsync(Id)).Select(s => s.key).ToList(); ModuleList.Where(a => roleKeyList.Contains(a.key) && a.type == 1).ToList().ForEach(a => a.@checked = true); //如果打开的是自己的就禁用 if (Id == token.Role) { ModuleList.ForEach(a => a.disableCheckbox = true); } } res.data.AddRange(TreeGenerateTools.TreeGroup(ModuleList, "00000000-0000-0000-0000-000000000000")); } } catch (Exception ex) { res.code = (int)ApiEnum.Error; res.message = "异常:" + ex.Message; } return(await Task.Run(() => res)); }
public async Task <ApiResult <AppInitSysUserDto> > Get() { ApiResult <AppInitSysUserDto> res = new ApiResult <AppInitSysUserDto>(); TokenModelBeta token = JwtToken.ParsingJwtToken(HttpContext); //获取用户信息 try { res.data = _mapper.Map <AppInitSysUserDto>(await _userService.QueryAsyncById(token.Id)); var moduleList = _mapper.Map <List <MenuSysModuleDto> >(await _sysModuleService.QuerySysModuleByRolrIdAsync(token.Role)); //var oduleList = _mapper.Map<List<MenuSysModuleDto>>(await _sysModuleService.QueryAsync(s=>s.EnabledMark == true && s.DeleteMark == false)) res.data.moduleDtos = MenuGenerateTools.MenuGroup(moduleList, "00000000-0000-0000-0000-000000000000"); } catch (Exception ex) { res.code = (int)ApiEnum.Error; res.message = "异常:" + ex.Message; } return(await Task.Run(() => res)); }
public async Task <ApiResult <string> > Delete(string Id) { ApiResult <string> res = new ApiResult <string>(); TokenModelBeta token = JwtToken.ParsingJwtToken(HttpContext); try { var IsSuccess = await _sysRoleService.DeleteAsync(s => s.Id == Id); if (!IsSuccess) { res.code = (int)ApiEnum.Failure; res.message = "错误:删除角色失败"; } } catch (Exception ex) { res.code = (int)ApiEnum.Error; res.message = "异常:" + ex.Message; } return(await Task.Run(() => res)); }
public async Task <ApiResult <string> > Put(string Id, EditSysModuleDto Params) { ApiResult <string> res = new ApiResult <string>(); TokenModelBeta token = JwtToken.ParsingJwtToken(HttpContext); try { //添加模块 SysModule sysModuleInfo = _mapper.Map <SysModule>(Params); sysModuleInfo.Id = Id; var IsSuccess = await _sysModuleService.UpdateAsync(sysModuleInfo); if (!IsSuccess) { res.code = (int)ApiEnum.Failure; res.message = "错误:修改模块失败"; } List <string> ModuleIds = new List <string>(); //修改模块数据 List <SysModuleAction> EditsysModuleActionList = _mapper.Map <List <SysModuleAction> >(Params.SysModuleActionDtos.Where(s => s.Id != null)); if (EditsysModuleActionList.Count() > 0) { IsSuccess = await _sysModuleActionService.UpdateListAsync(EditsysModuleActionList); if (!IsSuccess) { res.code = (int)ApiEnum.Failure; res.message = "错误:修改模块失败"; } ModuleIds.AddRange(EditsysModuleActionList.Select(s => s.Id).ToList()); } //添加模块请求 List <SysModuleAction> AddsysModuleActionList = _mapper.Map <List <SysModuleAction> >(Params.SysModuleActionDtos.Where(s => s.Id == null)); if (AddsysModuleActionList.Count() > 0) { foreach (var item in AddsysModuleActionList) { item.Id = Guid.NewGuid().ToString(); item.ModuleId = sysModuleInfo.Id; item.CreatorTime = DateTime.Now; item.CreatorUserId = token.Id; } IsSuccess = await _sysModuleActionService.AddListAsync(AddsysModuleActionList); if (!IsSuccess) { res.code = (int)ApiEnum.Failure; res.message = "错误:添加模块失败"; } ModuleIds.AddRange(AddsysModuleActionList.Select(s => s.Id).ToList()); } //删除不存在的模块请求 await _sysModuleActionService.DeleteAsync(s => s.ModuleId == sysModuleInfo.Id && !ModuleIds.Contains(s.Id)); } catch (Exception ex) { res.code = (int)ApiEnum.Error; res.message = "异常:" + ex.Message; } return(await Task.Run(() => res)); }