/// <summary> /// 加载指定系统用户 /// <param name="userId">用户编号</param> /// </summary> public void Load(string userId) { try { TSUser tsUser = tsUserDAO.Get(userId); tsUser.status = "1".Equals(tsUser.status) ? "on" : "off"; tsUser.roleIds = "'" + tsUser.roleIds.Replace(",", "','") + "'"; List <TSRole> listRole = new TSRoleDAO().GetList("select * from TSRole where status='1' and roleId in (" + tsUser.roleIds + ")", new Param()); tsUser.roleIds = ""; foreach (TSRole tsRole in listRole) { if (string.IsNullOrWhiteSpace(tsUser.roleIds)) { tsUser.roleIds = tsRole.roleId; } else { tsUser.roleIds += "," + tsRole.roleId; } } WebJson.ToJson(context, tsUser); } catch (Exception e) { Message.error(context, e.Message); } }
/// <summary> /// 获取系统用户 /// </summary> /// <param name="userId">用户登录名</param> /// <returns>系统用户对象</returns> public virtual TSUser GetTSUser(string USERCODE) { TSUser tsUser = null; try { string strSQL = "select * from TSUser where USERCODE=@USERCODE"; Param param = new Param(); param.Clear(); param.Add("@USERCODE", USERCODE); db.Open(); ComDataReader dr = db.ExecuteReader(CommandType.Text, strSQL, param); if (dr.Read()) { tsUser = ReadData(dr); } dr.Close(); } catch (Exception e) { throw e; } finally { db.Close(); } return(tsUser); }
public async Task <ActionResult> Delete([FromBody] TSUser tsUser) { string UserID = GlobalFunctions.CmdGetValueFromClaim(User.Claims, "UserID", 10); await TS.AddActivityLog(UserID, "delete user", MethodBase.GetCurrentMethod()); SymmKeyAndIV ClientSymmKeyAndIV = new SymmKeyAndIV(); ClientSymmKeyAndIV.Key = GlobalFunctions.CmdGetValueFromClaim(User.Claims, "ClientSymmKey", 5); ClientSymmKeyAndIV.IV = GlobalFunctions.CmdGetValueFromClaim(User.Claims, "ClientSymmIV", 10); if (!ClientSymmKeyAndIV.Key.Equals("Error")) { GlobalFunctions.CmdDecryptEntitySymm(tsUser, ClientSymmKeyAndIV); bool b = await TS.DeleteUser(tsUser); if (b) { return(Ok()); } else { return(UnprocessableEntity()); } } else { return(BadRequest("Can't get crypto key!")); } }
public async Task <ActionResult> Delete([FromBody] TSTodo TSTodo) { string userID = GlobalFunctions.CmdGetValueFromClaim(User.Claims, "UserID", 10); string userName = GlobalFunctions.CmdGetValueFromClaim(User.Claims, "UserName", 10); await TS.AddActivityLog(userID, "delete todo", MethodBase.GetCurrentMethod()); GlobalFunctions.CmdDecryptEntityAsymm(TSTodo); bool b = await TS.DeleteTodo(TSTodo); if (b) { TSUser currUser = new TSUser() { UserID = userID, UserName = userName, }; await TS.UpdateUserTodosCount(currUser, 1); await TS.UpdateSettingCounter("AllUsers", "TodosCount", false); return(Ok("OK")); } else { return(Ok("Error:Can't add new todo!")); } }
public async Task <ActionResult> Post([FromBody] TSUser tsUser) { string UserID = GlobalFunctions.CmdGetValueFromClaim(User.Claims, "UserID", 10); await TS.AddActivityLog(UserID, "post user", MethodBase.GetCurrentMethod()); GlobalFunctions.CmdDecryptEntityAsymm(tsUser); bool b = TS.DeleteExpiredEmaiedCodes().Result; string MachineID = GlobalFunctions.CmdGetValueFromClaim(User.Claims, "MachineID", 10); string IPAddress = HttpContext.Connection.RemoteIpAddress.ToString(); TSEmailedCodeEntity emailedCode = TS.FindEmaiedCode(tsUser.Email, IPAddress, MachineID).Result; if (emailedCode != null) { if (emailedCode.Code.ToLower().Equals(tsUser.EmailedCode)) { await TS.DeleteEmaiedCodes(tsUser.Email); tsUser.UserID = await TS.GetNewID("AllUsers", "LastUserID", true); tsUser.CreateDate = DateTime.Now; b = await TS.AddUser(tsUser); if (b) { await TS.UpdateSettingCounter("AllUsers", "UsersCount", true); await GlobalFunctions.NotifyAdmin("New user"); return(Ok("OK")); } else { return(Ok("Error:Can't add new user!")); } } else { return(Ok("Error:Emailed code is not correct!")); } } else { await TS.AddErrorLog("AllUsers", "EmaiedCode expected but not found", MethodBase.GetCurrentMethod()); return(Ok("Error:Server can't find emailed code to compare!")); } }
public async Task <bool> UpdateUser(TSUser tsUser, bool KeepPassAndSalt, List <string> CallTrace) { try { CosmosDocUser newUser = new CosmosDocUser(tsUser); if (KeepPassAndSalt) { CosmosDocUser oldUser = await GetUserDoc(tsUser, LocalFunctions.AddThisCaller(CallTrace, MethodBase.GetCurrentMethod())); newUser.Salt = oldUser.Salt; newUser.HashedPassword = oldUser.HashedPassword; } else { newUser.Salt = GlobalFunctions.GetSalt(); newUser.HashedPassword = GlobalFunctions.CmdHashPasswordBytes(tsUser.Password, newUser.Salt); } await cosmosDBClientBase.UpdateItemAsync(newUser, LocalFunctions.AddThisCaller(CallTrace, MethodBase.GetCurrentMethod())); return(true); } catch (CosmosException ex) { await CosmosAPI.cosmosDBClientError.AddErrorLog(tsUser.ID, ex.Message, LocalFunctions.AddThisCaller(CallTrace, MethodBase.GetCurrentMethod())); return(false); } }
public async Task CmdChangePassword() { IsButtonDisabled = true; StateHasChanged(); Validate(); if (LocalFunctions.HasError()) { LocalFunctions.DisplayErrors(); } else { TSUser tsUser = new TSUser() { Email = LocalData.CurrTSUser.Email, Password = NewPassword, EmailedCode = EmailedCode, }; await WebApi.CmdUserChangePassword(tsUser); } IsButtonDisabled = false; }
/// <summary> /// 获取系统用户 /// <param name="userId">用户编号</param> /// </summary> /// <returns>系统用户对象</returns> public TSUser Get(string userId) { TSUser tsUser = null; try { string strSQL = "select * from TSUser where userId=:userId"; Param param = new Param(); param.Clear(); param.Add(":userId", userId); db.Open(); ComDataReader dr = db.ExecuteReader(CommandType.Text, strSQL, param); if (dr.Read()) { tsUser = ReadData(dr); } } catch (Exception e) { throw e; } finally { db.Close(); } return(tsUser); }
public async Task <ActionResult> Delete( [HttpTrigger(AuthorizationLevel.Anonymous, "delete", Route = "User/delete")] HttpRequest req, ILogger log) { TSUser tsUser = await MyFromBody <TSUser> .FromBody(req, TodosCosmos.LocalFunctions.AddThisCaller(new List <string>(), MethodBase.GetCurrentMethod())); ClaimsPrincipal User = MyTokenValidator.Authenticate(req, AllowedRoles, TodosCosmos.LocalFunctions.AddThisCaller(new List <string>(), MethodBase.GetCurrentMethod())); Guid UserID = Guid.Parse(LocalFunctions.CmdGetValueFromClaim(User.Claims, "UserID", 10, TodosCosmos.LocalFunctions.AddThisCaller(new List <string>(), MethodBase.GetCurrentMethod()))); await CosmosAPI.cosmosDBClientActivity.AddActivityLog(UserID, "delete user", TodosCosmos.LocalFunctions.AddThisCaller(new List <string>(), MethodBase.GetCurrentMethod())); bool b = await CosmosAPI.cosmosDBClientUser.DeleteUser(tsUser, TodosCosmos.LocalFunctions.AddThisCaller(new List <string>(), MethodBase.GetCurrentMethod())); if (b) { return(new OkResult()); } else { return(new UnprocessableEntityResult()); } }
public Model.APIResult GetLoginUserInfo(string strUserCode, string strPassward) { Model.APIResult result = new Model.APIResult(); try { //获取用户信息 List <TSUser> tsUserList = new TSUserDAO().GetList("userCode", strUserCode); if (tsUserList.Count != 1) { result.Data = null; result.Message = "没有查询到用户的登录信息!"; result.Result = 101; } TSUser tsUser = tsUserList[0]; if (!tsUser.userPwd.Equals(Encrypt.ConvertPwd(tsUser.userId, strPassward))) { result.Data = null; result.Message = "用户名与密码不匹配!"; result.Result = 102; } else if (!"1".Equals(tsUser.status)) { result.Data = null; result.Message = "该用户帐号已停用!"; result.Result = 103; } //获取部门信息 TSDept tsDept = new TSDeptDAO().Get(tsUser.deptId); if (tsDept == null) { result.Data = null; result.Message = "该用户所属部门不存在!"; result.Result = 104; } else if (!"1".Equals(tsDept.status)) { result.Data = null; result.Message = "该用户所属部门已停用!"; result.Result = 105; } GetModuleInfo(tsUser); result.Data = tsUser; result.Message = "获取用户信息成功!"; result.Result = 100; } catch (Exception ex) { result.Data = null; result.Message = "获取用户信息失败:" + ex.Message; result.Result = 0; } return(result); }
public TSUserEntity(TSUser tsUser) { PartitionKey = tsUser.UserID; RowKey = tsUser.UserName.ToLower(); Email = tsUser.Email.ToLower(); FullName = tsUser.FullName; IsLive = tsUser.IsLive; CreateDate = tsUser.CreateDate; TodosCount = tsUser.TodosCount; }
public async Task <bool> UpdateUserTodosCount(TSUser tsUser, int change, List <string> CallTrace) { TSUser result = await GetUser(tsUser, LocalFunctions.AddThisCaller(CallTrace, MethodBase.GetCurrentMethod())); result.TodosCount += change; await UpdateUser(result, true, LocalFunctions.AddThisCaller(CallTrace, MethodBase.GetCurrentMethod())); return(true); }
public async Task <ActionResult> ChangePassword( [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "user/changepassword")] HttpRequest req, ILogger log) { TSUser tsUser = await MyFromBody <TSUser> .FromBody(req, TodosCosmos.LocalFunctions.AddThisCaller(new List <string>(), MethodBase.GetCurrentMethod())); ClaimsPrincipal User = MyTokenValidator.Authenticate(req, AllowedRoles, TodosCosmos.LocalFunctions.AddThisCaller(new List <string>(), MethodBase.GetCurrentMethod())); Guid UserID = Guid.Parse(LocalFunctions.CmdGetValueFromClaim(User.Claims, "UserID", 10, TodosCosmos.LocalFunctions.AddThisCaller(new List <string>(), MethodBase.GetCurrentMethod()))); await CosmosAPI.cosmosDBClientActivity.AddActivityLog(UserID, "change password", TodosCosmos.LocalFunctions.AddThisCaller(new List <string>(), MethodBase.GetCurrentMethod())); string MachineID = LocalFunctions.CmdGetValueFromClaim(User.Claims, "MachineID", 10, TodosCosmos.LocalFunctions.AddThisCaller(new List <string>(), MethodBase.GetCurrentMethod())); string IPAddress = req.HttpContext.Connection.RemoteIpAddress.ToString(); CosmosEmailedCode emailedCode = await CosmosAPI.cosmosDBClientEmailedCode.FindEmaiedCode(tsUser.Email, IPAddress, MachineID, TodosCosmos.LocalFunctions.AddThisCaller(new List <string>(), MethodBase.GetCurrentMethod())); if (emailedCode != null) { if (emailedCode.Code.ToLower().Equals(tsUser.EmailedCode)) { await CosmosAPI.cosmosDBClientEmailedCode.DeleteEmailedCodes(tsUser.Email, TodosCosmos.LocalFunctions.AddThisCaller(new List <string>(), MethodBase.GetCurrentMethod())); TSUser currUser = (await CosmosAPI.cosmosDBClientUser.FindUserByID(UserID, TodosCosmos.LocalFunctions.AddThisCaller(new List <string>(), MethodBase.GetCurrentMethod()))).toTSUser(); currUser.Password = tsUser.Password; if (await CosmosAPI.cosmosDBClientUser.UpdateUser(currUser, false, TodosCosmos.LocalFunctions.AddThisCaller(new List <string>(), MethodBase.GetCurrentMethod()))) { return(new OkObjectResult("OK")); } else { return(new OkObjectResult("Error:Can't add new user!")); } } else { return(new OkObjectResult("Error:Emailed code is not correct!")); } } else { await CosmosAPI.cosmosDBClientError.AddErrorLog(Guid.Empty, "EmaiedCode expected but not found", TodosCosmos.LocalFunctions.AddThisCaller(new List <string>(), MethodBase.GetCurrentMethod())); return(new OkObjectResult("Error:Server can't find emailed code to compare!")); } }
public async Task <bool> SendTodoReminders(List <string> CallTrace) { try { IEnumerable <CosmosDocTodo> result = await cosmosDBRepo.GetItemsAsync(x => x.DocType == (int)DocTypeEnum.Todo && x.UserID != CosmosAPI.DemoUserID && !x.IsReminderEmailed && x.HasRemindDate && x.RemindDate < DateTime.Now, LocalFunctions.AddThisCaller(CallTrace, MethodBase.GetCurrentMethod())); if (result.Any()) { bool b = false; string body = string.Empty; foreach (var item in result) { TSUser currUser = await CosmosAPI.cosmosDBClientUser.GetUser(item.UserID, LocalFunctions.AddThisCaller(CallTrace, MethodBase.GetCurrentMethod())); if (currUser != null) { item.IsReminderEmailed = true; TSEmail tmpEmail = new TSEmail() { To = currUser.Email, OperationCode = 4, }; body = "Name - " + item.Name + "\n\nDescription - " + item.Description + "\n\nDuedate - " + item.DueDate.ToString("MM/dd/yyyy HH:mm:ss.fff") + "."; tmpEmail = LocalFunctions.SendEmail(tmpEmail, string.Empty, body, LocalFunctions.AddThisCaller(CallTrace, MethodBase.GetCurrentMethod())).Result; b = UpdateTodoEntity(item, LocalFunctions.AddThisCaller(CallTrace, MethodBase.GetCurrentMethod())).Result; } } } } catch (CosmosException ex) { await CosmosAPI.cosmosDBClientError.AddErrorLog(Guid.Empty, ex.Message, LocalFunctions.AddThisCaller(CallTrace, MethodBase.GetCurrentMethod())); return(false); } return(true); }
///<summary> ///登录系统 ///</summary> /// <param name="context">HTTP请求上下文</param> /// <param name="userCode">用户名称</param> /// <param name="userPwd">用户密码</param> public void Login(System.Web.HttpContext context, string userCode, string userPwd) { //获取用户信息 List <TSUser> tsUserList = new TSUserDAO().GetList("userCode", userCode); if (tsUserList.Count != 1) { Message.error(context, "帐号错误"); return; } TSUser tsUser = tsUserList[0]; if (!tsUser.userPwd.Equals(Encrypt.ConvertPwd(tsUser.userId, userPwd))) { Message.error(context, "密码错误"); return; } else if (!"1".Equals(tsUser.status)) { Message.error(context, "帐号停用"); return; } //获取部门信息 TSDept tsDept = new TSDeptDAO().Get(tsUser.deptId); if (tsDept == null) { Message.error(context, "用户所属部门不存在"); return; } else if (!"1".Equals(tsDept.status)) { Message.error(context, "用户所属部门停用"); return; } //设置登录信息 this.userId = tsUser.userId; this.userName = tsUser.userName; this.roleIds = tsUser.roleIds; this.deptId = tsUser.deptId; this.deptName = tsDept.deptName; //会话保存登录用户信息 context.Session["clientUser"] = this; Message.success(context, "success");//成功返回 }
/// <summary> /// 读取系统用户信息 /// </summary> /// <param name="dr">记录指针</param> /// <returns>系统用户对象</returns> protected virtual TSUser ReadData(ComDataReader dr) { TSUser tsUser = new TSUser(); tsUser.userId = dr["userId"].ToString(); //用户编号 tsUser.userName = dr["userName"].ToString(); //用户姓名 tsUser.userCode = dr["userCode"].ToString(); //用户帐号 tsUser.userPwd = dr["userPwd"].ToString(); //用户密码 tsUser.roleIds = dr["roleIds"].ToString(); //角色编号 tsUser.deptId = dr["deptId"].ToString(); //部门编号 tsUser.status = dr["status"].ToString(); //使用状态 tsUser.post = dr["post"].ToString(); //职务 tsUser.telephone = dr["telephone"].ToString(); //联系电话 return(tsUser); }
public CosmosDocUser(TSUser tsUser) { ID = tsUser.ID; UserName = tsUser.UserName?.ToLower(); Email = tsUser.Email?.ToLower(); FullName = tsUser.FullName; IsLive = tsUser.IsLive; CreateDate = tsUser.CreateDate; TodosCount = tsUser.TodosCount; LangID = tsUser.LangID; DocType = (int)DocTypeEnum.User; GeneratePK(); }
public async Task <ActionResult <TSStat> > Get( [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "stat")] HttpRequest req, ILogger log) { await CosmosAPI.cosmosDBClientSetting.SetSetting(Guid.Empty, "LatsStatRequest", "ts", TodosCosmos.LocalFunctions.AddThisCaller(new List <string>(), MethodBase.GetCurrentMethod())); ClaimsPrincipal User = MyTokenValidator.Authenticate(req, AllowedRoles, TodosCosmos.LocalFunctions.AddThisCaller(new List <string>(), MethodBase.GetCurrentMethod())); if (User != null) { Guid userID = Guid.Parse(LocalFunctions.CmdGetValueFromClaim(User.Claims, "UserID", 10, TodosCosmos.LocalFunctions.AddThisCaller(new List <string>(), MethodBase.GetCurrentMethod()))); string userName = LocalFunctions.CmdGetValueFromClaim(User.Claims, "UserName", 10, TodosCosmos.LocalFunctions.AddThisCaller(new List <string>(), MethodBase.GetCurrentMethod())); if (!userID.Equals(Guid.Empty)) { if (!userName.Equals("demouser")) { TSUser tsUser = await CosmosAPI.cosmosDBClientUser.GetUser(new TSUser { ID = userID }, TodosCosmos.LocalFunctions.AddThisCaller(new List <string>(), MethodBase.GetCurrentMethod())); if (tsUser != null) { if (!tsUser.IsLive) { tsUser.IsLive = true; await CosmosAPI.cosmosDBClientUser.UpdateUser(tsUser, true, TodosCosmos.LocalFunctions.AddThisCaller(new List <string>(), MethodBase.GetCurrentMethod())); } } } } } TSStat stat = new TSStat { IPsCount = await GetStat("IPAddressesCount"), VisitsCount = await GetStat("VisitsCount"), UsersCount = await GetStat("UsersCount"), LiveUsersCount = await GetStat("LiveUsersCount"), TodosCount = await GetStat("TodosCount"), LikesCount = await GetStat("LikesCount"), DislikesCount = await GetStat("DislikesCount"), FeedbackCount = await GetStat("FeedbackCount"), }; return(stat); // return new OkObjectResult(JsonSerializer.ToString(stat)); }
/// <summary> /// 增加系统用户 /// <param name="tsUser">系统用户</param> /// </summary> public void Add(TSUser tsUser) { try { db.Open(); Add(db, tsUser); } catch (Exception e) { throw e; } finally { db.Close(); } }
/// <summary> /// 修改系统用户 /// </summary> /// <param name="tsUser">系统用户</param> public virtual void Edit(TSUser tsUser) { try { db.Open(); Edit(db, tsUser); } catch (Exception e) { throw e; } finally { db.Close(); } }
public static async Task <bool> CmdRegisterUser(TSUser ParTSUser) { string a = await WebApiFunctions.CmdTSUserRegister(ParTSUser); if (a.Equals("OK")) { LocalFunctions.Authorize(ParTSUser.UserName, ParTSUser.Password); return(true); } else { LocalFunctions.AddError(a, MethodBase.GetCurrentMethod(), true, false); return(false); } }
private void LoadTSUsers() { try { listTSUser.Clear(); TerminalServicesManager tsManager = new TerminalServicesManager(); string[] massHosts = new string[] { "TS1", "TS2", "TS3", "TS4", "TS5", "TS6", "TS7" }; foreach (var host in massHosts) { using (ITerminalServer server = tsManager.GetRemoteServer(host)) { server.Open(); foreach (ITerminalServicesSession session in server.GetSessions()) { NTAccount account = session.UserAccount; if (account != null) { TSUser user = new TSUser() { DomainName = session.DomainName, PCName = session.ClientName, TSName = host, UserName = session.UserName, ConnectionState = session.ConnectionState.ToString(), WindowStationName = session.WindowStationName, UserAccount = account.ToString(), }; Dispatcher.Invoke((Action)(() => { listTSUser.Add(user); })); } } } } foreach (var user in listTSUser) { user.ClientIPAddress = (from i in listPcIPAndPcName where i.PcName.ToLower() == user.PCName.ToLower() select i.PcIP).FirstOrDefault(); } } catch (Exception ex) { Bindings.StatusBarText = ex.Message; } }
/// <summary> /// 修改系统用户【修改】 /// <param name="data">数据库连接</param> /// <param name="tsUser">系统用户</param> /// </summary> public override void Edit(DataAccess data, TSUser tsUser) { string strSQL = "update TSUser set userName=@userName,userCode=@userCode,roleIds=@roleIds,deptId=@deptId,status=@status,post=@post,telephone=@telephone where userId=@userId"; Param param = new Param(); param.Clear(); param.Add("@userName", tsUser.userName); //用户姓名 param.Add("@userCode", tsUser.userCode); //用户帐号 //param.Add("@userPwd", tsUser.userPwd);//用户密码 param.Add("@roleIds", tsUser.roleIds); //角色编号 param.Add("@deptId", tsUser.deptId); //部门编号 param.Add("@status", tsUser.status); //使用状态 param.Add("@post", tsUser.post); //职务 param.Add("@telephone", tsUser.telephone); //联系电话 param.Add("@userId", tsUser.userId); //用户编号 data.ExecuteNonQuery(CommandType.Text, strSQL, param); }
protected DataAccess db = new DataAccess(DataAccess.DBConn);//数据库连接 #region 代码生成器自动生成 /// <summary> /// 增加系统用户 /// </summary> /// <param name="data">数据库连接</param> /// <param name="tsUser">系统用户</param> public virtual void Add(DataAccess data, TSUser tsUser) { string strSQL = "insert into TSUser (userId,userName,userCode,userPwd,roleIds,deptId,status,post,telephone) values (@userId,@userName,@userCode,@userPwd,@roleIds,@deptId,@status,@post,@telephone)"; Param param = new Param(); param.Clear(); param.Add("@userId", tsUser.userId); //用户编号 param.Add("@userName", tsUser.userName); //用户姓名 param.Add("@userCode", tsUser.userCode); //用户帐号 param.Add("@userPwd", tsUser.userPwd); //用户密码 param.Add("@roleIds", tsUser.roleIds); //角色编号 param.Add("@deptId", tsUser.deptId); //部门编号 param.Add("@status", tsUser.status); //使用状态 param.Add("@post", tsUser.post); //职务 param.Add("@telephone", tsUser.telephone); //联系电话 data.ExecuteNonQuery(CommandType.Text, strSQL, param); }
/// <summary> /// 重置密码 /// </summary> /// <param name="userId"></param> public void PwdReset(string userId) { TSUser tsUser = tsUserDAO.Get(userId); try { string password = Encrypt.ConvertPwd(tsUser.userId, tsUser.userCode); tsUserDAO.ChangePwd(tsUser.userId, password); Message.success(context, "用户密码重置成功"); loginSession.Log(tsUser.userName + "[" + tsUser.userId + "]用户密码重置成功"); } catch (Exception e) { Message.error(context, "用户修改失败"); loginSession.Log(e.Message); } }
public async Task <ActionResult <TSUser> > Authorize([FromBody] TSUser tsUser) { string UserID = GlobalFunctions.CmdGetValueFromClaim(User.Claims, "UserID", 10); await TS.AddActivityLog(UserID, "Requested authentication", MethodBase.GetCurrentMethod()); TSUser result = new TSUser(); SymmKeyAndIV ClientSymmKeyAndIV = new SymmKeyAndIV { Key = GlobalFunctions.CmdGetValueFromClaim(User.Claims, "ClientSymmKey", 5), IV = GlobalFunctions.CmdGetValueFromClaim(User.Claims, "ClientSymmIV", 10) }; if (!string.IsNullOrEmpty(ClientSymmKeyAndIV.Key)) { GlobalFunctions.CmdDecryptEntityAsymm(tsUser); tsUser.UserID = GlobalFunctions.CmdGetValueFromClaim(User.Claims, "UserID", 10); result = TS.GetUser(tsUser).Result; if (!string.IsNullOrEmpty(result.UserID)) { await GlobalFunctions.NotifyAdmin("New login " + result.UserName); await TS.UpdateSettingCounter("AllUsers", "LiveUsersCount", true); GlobalFunctions.CmdEncryptEntitySymm(result, ClientSymmKeyAndIV); } else { result.UserName = "******"; result.FullName = "Can't find user!"; GlobalFunctions.CmdEncryptEntitySymm(result, ClientSymmKeyAndIV); } } else { result.UserName = "******"; result.FullName = "Can't get crypto key!"; } return(result); }
public static async Task <bool> CmdUserChangePassword(TSUser ParTSUser) { string a = await WebApiFunctions.CmdTSUserChangePassword(ParTSUser); if (a.Equals("OK")) { LocalFunctions.AddMessage("Password was changed successfully, please login again", true, false); LocalData.btModal.Close(); LocalFunctions.Logout(); return(true); } else { LocalFunctions.AddError(a, MethodBase.GetCurrentMethod(), true, false); return(false); } }
public static async Task <string> CmdTSUserChangePassword(TSUser ParTSUser) { httpClient.DefaultRequestHeaders.Accept.Clear(); httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", LocalData.CurrJWT); GlobalFunctions.CmdTrimEntity(ParTSUser); TSUser tsUserForSend = GlobalFunctions.CopyObject <TSUser>(ParTSUser); string result = await httpClient.PostJsonAsync <string>("user/changepassword", tsUserForSend); httpClient.DefaultRequestHeaders.Accept.Clear(); return(result); }
public static async Task <TSUser> CmdTSUserAuthorize(TSUser ParTSUser) { httpClient.DefaultRequestHeaders.Accept.Clear(); httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", LocalData.CurrJWT); try { TSUser result = await httpClient.MyPostJsonGetJsonAsync("user/authorize", ParTSUser); GlobalFunctions.CmdAdjustDate(result, false); return(result); } catch (Exception ex) { LocalFunctions.AddError(ex.Message, MethodBase.GetCurrentMethod(), true, false); } return(new TSUser()); }
//public Startup(IConfiguration configuration, ILogger<Startup> logger) public Startup(IConfiguration configuration) { Configuration = configuration; //_logger = logger; //_logger.LogInformation("Added TodoRepository to services"); GlobalFunctions.CmdReadEncryptedSettings(); TS = new TableStorage(); bool b = TS.EnuserTables().Result; TSUserEntity demoUser = TS.FindUser("DemoUser", false, string.Empty).Result; if (demoUser is null) { TSUser newUser = new TSUser() { Email = "*****@*****.**", Password = "******", FullName = "Demo User", UserName = "******", UserID = TS.GetNewID("AllUsers", "LastUserID", true).Result, CreateDate = DateTime.Now, }; DemoUserID = newUser.UserID; b = TS.AddUser(newUser).Result; } else { DemoUserID = demoUser.PartitionKey; } b = TS.AddActivityLog("AllUser", "Server started", MethodBase.GetCurrentMethod()).Result; _timerUserUpdater = new Timer(DoWorkUserUpdater, null, TimeSpan.FromSeconds(1), TimeSpan.FromSeconds(10)); _timerReminder = new Timer(DoWorkReminder, null, TimeSpan.FromSeconds(1), TimeSpan.FromMinutes(1)); }