/// <summary> /// Function to delete current user token /// </summary> /// <param></param> /// <returns>bool</returns> /// <devdoc> /// Developer Name - Arvind Kumar /// Date - 05/19/2015 /// </devdoc> public static bool DeleteCurrentUserToken() { StringBuilder traceLog = null; using (LinksMediaContext _dbContext = new LinksMediaContext()) { tblUserToken userToken = null; try { traceLog = new StringBuilder(); traceLog.AppendLine("Start: DeleteCurrentUserToken"); string token = Thread.CurrentPrincipal.Identity.Name; bool flag = false; userToken = _dbContext.UserToken.Remove(_dbContext.UserToken.FirstOrDefault(u => u.Token.Equals(token))); _dbContext.SaveChanges(); if (userToken != null) { flag = true; } return(flag); } finally { traceLog.AppendLine("End: DeleteCurrentUserToken --- " + DateTime.Now.ToLongDateString()); LogManager.LogManagerInstance.WriteTraceLog(traceLog); userToken = null; } } }
/// <summary> /// Function to authenticate user Token /// </summary> /// <param name="token">token</param> /// <returns>True/False</returns> public static bool ValidateToken(string token, string clientIPAddress) { using (LinksMediaContext _dbContext = new LinksMediaContext()) { bool success = false; StringBuilder traceLog = null; tblUserToken userToken = null; try { traceLog = new StringBuilder(); traceLog.AppendLine("Start: Login, ValidateUserToken Method with Param token: " + token); userToken = _dbContext.UserToken.FirstOrDefault(t => t.Token == token && t.ClientIPAddress == clientIPAddress); if (userToken != null) { if (userToken.IsRememberMe) { success = true; } else { if (userToken.ExpiredOn > DateTime.Now) { if (!userToken.IsExpired) { success = true; userToken.ExpiredOn = DateTime.Now.AddMinutes(Convert.ToByte(ConfigurationManager.AppSettings["ExpireDuration"])); } } else { userToken.IsExpired = true; } } _dbContext.SaveChanges(); } return(success); } catch (Exception ex) { LogManager.LogManagerInstance.WriteErrorLog(ex); return(false); } finally { traceLog.AppendLine("Index Start end() : --- " + DateTime.Now.ToLongDateString()); LogManager.LogManagerInstance.WriteTraceLog(traceLog); traceLog = null; userToken = null; } } }
/// <summary> /// Function to authenticate User base on user credetials and get authencation token /// </summary> /// <param name="username">username</param> /// <param name="password">password</param> /// <returns>True/False</returns> public static bool ValidateUser(Credentials usercred, ref Credentials credential, ref string token, ref string userType, ref int userId) { bool success = false; StringBuilder traceLog = null; EncryptDecrypt objEncrypt = null; using (LinksMediaContext _dbContext = new LinksMediaContext()) { tblUserToken objTokenInfo = null; tblCredentials item = null; try { traceLog = new StringBuilder(); traceLog.AppendLine("Start: Login, ValidateUser Method with Param UserName: "******"Start to create user token"); success = true; credential.UserId = item.UserId; credential.UserType = item.UserType; //Code for Last Login of User item.LastLogin = DateTime.Now; /*delete old user token on same devices except current user*/ if (usercred != null && string.IsNullOrEmpty(usercred.DeviceID)) { DeleteOtherUserTokensOnDevices(usercred.DeviceID, usercred.DeviceType); } objTokenInfo = new tblUserToken(); objTokenInfo.UserId = item.Id; objTokenInfo.Token = CommonUtility.GetToken(); objTokenInfo.ClientIPAddress = ConstantKey.DeviceID; objTokenInfo.TokenDevicesID = string.IsNullOrEmpty(usercred.DeviceID) ? string.Empty : usercred.DeviceID; objTokenInfo.DeviceType = string.IsNullOrEmpty(usercred.DeviceType) ? string.Empty : usercred.DeviceType; objTokenInfo.IsExpired = false; objTokenInfo.ExpiredOn = DateTime.Now.AddMinutes(Convert.ToDouble(ConfigurationManager.AppSettings["ExpireDuration"])); objTokenInfo.IsRememberMe = usercred.RememberMe; objTokenInfo.DeviceUID = usercred.DeviceUID; _dbContext.UserToken.Add(objTokenInfo); _dbContext.SaveChanges(); if (string.IsNullOrEmpty(usercred.DeviceID)) { NotificationApiBL.ResetUserNotification(item.Id); } token = objTokenInfo.Token; userType = item.UserType; userId = item.UserId; traceLog.AppendLine("Token are created" + token); } return(success); } finally { objEncrypt.Dispose(); traceLog.AppendLine("Login Start end() : --- " + DateTime.Now.ToLongDateString() + success.ToString()); LogManager.LogManagerInstance.WriteTraceLog(traceLog); item = null; traceLog = null; objTokenInfo = null; } } }