public static void OpenDbConnection(bool isEncrypted) { string password = string.Empty; if (isEncrypted) { string username; byte[] ciphertext; byte[] entropy; if (PasswordUtility.RetrievePasswordFromRegistry(out username, out ciphertext, out entropy)) { password = PasswordUtility.Decrypt(ciphertext, entropy); } } SqliteCon = new SQLiteConnection(DbConnectionString); if (isEncrypted) { SqliteCon.SetPassword(password); } SqliteCon.Open(); }
/// <summary> /// ساخت و قراردادن متغیر های کاربر در قالب مورد استفاده /// </summary> /// <param name="template">قالب</param> /// <param name="user">کاربر</param> /// <returns>قالب که با متغیر های مورد نظر پر شده است</returns> public static void Manipulate(ref string template, User user) { template = template.Replace(BaseInformationKey.UserVariable_FullName, GetSexText(user.SexId)); template = template.Replace(BaseInformationKey.UserVariable_FullName, user.FullName); template = template.Replace(BaseInformationKey.UserVariable_Mobile, user.MobileNumber); template = template.Replace(BaseInformationKey.UserVariable_Email, user.Email); template = template.Replace(BaseInformationKey.UserVariable_Password, PasswordUtility.Decrypt(user.Password)); }
protected void Application_PostAuthenticateRequest(Object sender, EventArgs e) { if (Request.Headers["Authorization"] != null) { try { var token = Request.Headers["Authorization"]; var userId = Auth.CheckToken(token); if (userId != null) { using (var db = new AsefianContext()) { var tokenEntity = db.Token.Where(x => x.AuthoritarianToken == token && x.ExpiredDateTime >= DateTime.Now).Single(); HttpContext.Current.User = new System.Security.Principal.GenericPrincipal(new System.Security.Principal.GenericIdentity(AsefianMetadata.Site, "Forms"), Permission.GetPermissionList(tokenEntity.User.Permission)); tokenEntity.ExpiredDateTime = DateTime.Now.AddMinutes(180); } } else { throw new AuthenticationException(); } } catch (Exception) { } } else if (FormsAuthentication.CookiesSupported == true) { if (Request.Cookies[FormsAuthentication.FormsCookieName] != null) { try { //let us take out the username now HttpCookie cookie = HttpContext.Current.Request.Cookies.Get(FormsAuthentication.FormsCookieName); cookie.Expires = DateTime.Now.AddMinutes(90); HttpContext.Current.Request.Cookies.Set(cookie); FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(cookie.Value); var user = JsonConvert.DeserializeObject <UserPrincipal>(ticket.Name); //let us extract the roles from our own custom cookie var permissionList = new List <string>(); permissionList.AddRange(Permission.GetPermissionList(int.Parse(PasswordUtility.Decrypt(user.token)))); using (var db = new AsefianContext()) { var userGroup = db.Group.Where(x => x.UserGroupList.Any(y => y.UserId == user.id)).ToList(); foreach (var x in userGroup) { permissionList.AddRange(Permission.GetPermissionList(x.Permission)); } } permissionList = permissionList.Distinct().ToList(); //Let us set the Pricipal with our user specific details HttpContext.Current.User = new System.Security.Principal.GenericPrincipal(new System.Security.Principal.GenericIdentity(AsefianMetadata.Site, "Forms"), permissionList.ToArray()); } catch (Exception) { //somehting went wrong } } } }