public void Logout() { DynamicDictionary authDetail = null; if (SessionData.token != null) { if (SessionData.user_id != null) { authDetail = GetTokenDetail(SessionData.token, (int)SessionData.user_id); } } if (authDetail != null) { int?session_id = authDetail.GetValueAsInt("id"); //Delete(session_id); SessionLogService srvc = new SessionLogService(); srvc.Delete(session_id); } if (HttpContext.Current.Response.Cookies.AllKeys.Contains("token")) { HttpContext.Current.Response.Cookies.Remove("token"); } if (HttpContext.Current.Response.Cookies.AllKeys.Contains("user_id")) { HttpContext.Current.Response.Cookies.Remove("user_id"); } SessionData.Session.Clear(); }
public DynamicDictionary ValidateToken(DbConnect con, string token, int user_id) { DynamicDictionary data = new DynamicDictionary(); SessionLogService sessionSrvc = new SessionLogService(); DynamicDictionary data_param = new DynamicDictionary(); data_param.Add("token", token); data_param.Add("user_id", user_id); data = sessionSrvc.CrudRepo.Get(con, data_param); return(data); }
public virtual ResponseAuth Authenticate(int client_id, string username, string password) { //validate if data is passed with all 3 parameters. ResponseAuth resp = new ResponseAuth(); if (client_id < 1) { resp.message = "Please select a Client."; return(resp); } if (username.Trim().Length == 0) { resp.message = "Please enter a Username."; return(resp); } if (password.Trim().Length == 0) { resp.message = "Please enter a Password."; return(resp); } //var usermodel = Bango.Container.GetInstance<IUserModel>(); //UserService<UserModel, int?> userSrvc = (UserService<UserModel, int?>)Bango.Container.GetInstance(typeof(IUserService<UserModel, int?>)); var userSrvc = GetUserServiceInstance(); using (DbConnect con = new DbConnect()) { resp = userSrvc.AuthenticateUserNamePasword(con, client_id, username, password); //generate token string token = string.Empty; if (resp.success) { token = GenerateToken(); } resp.token = token; //save data in session & generate SessionLogService sessionSrvc = new SessionLogService(); DynamicDictionary data_param = new DynamicDictionary(); data_param.Add("client_id", client_id); data_param.Add("user_id", resp.user_id); DateTime login_datetime = DateTime.Now; data_param.Add("login_datetime", login_datetime); data_param.Add("expire_datetime", GetExpirtyDateTime(login_datetime)); data_param.Add("token", token); sessionSrvc.Insert(con, data_param); //SessionLogModel } return(resp); }
protected bool AuthenticationFromDB(HttpActionContext actionContext, string token, int user_id) { if (!App.CheckToken) { return(true); } IAuthService authSrvc = App.Container.GetInstance <Rbac.IAuthService>(); DynamicDictionary tokenDetail = authSrvc.GetTokenDetail(token, user_id); if (tokenDetail == null || tokenDetail.GetCount() == 0) { Status = AuthorizationStatus.NotLoggedIn; return(false); } if (tokenDetail.ContainsKey("expire_datetime")) { if (!String.IsNullOrEmpty(tokenDetail["expire_datetime"].ToString())) { DateTime expiryDate = Convert.ToDateTime(tokenDetail["expire_datetime"]); DateTime current_date = DateTime.Now; TimeSpan difference = expiryDate - current_date; if (difference.TotalMinutes < 0) { Status = AuthorizationStatus.SessionExpired; return(false); } else { int?session_id = tokenDetail.GetValueAsInt("id"); _client_id = (int)tokenDetail.GetValueAsInt("client_id"); SessionData.client_id = _client_id; DynamicDictionary data_param = new DynamicDictionary(); data_param.Add("expire_datetime", AuthService.GetExpirtyDateTime(DateTime.Now)); data_param.Add("id", session_id); SessionLogService logSrvc = new SessionLogService(); logSrvc.Update(session_id, data_param); Status = AuthorizationStatus.Authorized; return(true); } } } return(false); }