Exemplo n.º 1
0
 public AccountsController(
     IUserRepository repo,
     UserManager <SensateUser> userManager,
     IEmailSender emailer,
     IOptions <UserAccountSettings> options,
     IPasswordResetTokenRepository tokens,
     IChangeEmailTokenRepository emailTokens,
     IChangePhoneNumberTokenRepository phoneTokens,
     IUserTokenRepository tokenRepository,
     ITextSendService text,
     IUserService userService,
     ICommandPublisher publisher,
     IOptions <TextServiceSettings> text_opts,
     IWebHostEnvironment env,
     IHttpContextAccessor ctx,
     ILogger <AccountsController> logger
     ) : base(repo, ctx)
 {
     this.m_userService  = userService;
     this._logger        = logger;
     this._manager       = userManager;
     this._mailer        = emailer;
     this._passwd_tokens = tokens;
     this._email_tokens  = emailTokens;
     this._env           = env;
     this._tokens        = tokenRepository;
     this._phonetokens   = phoneTokens;
     this._settings      = options.Value;
     this._text          = text;
     this.m_publisher    = publisher;
     this._text_settings = text_opts.Value;
 }
        public string GenerateJwtToken(SensateUser user, IEnumerable <string> roles, UserAccountSettings settings)
        {
            List <Claim>     claims;
            JwtSecurityToken token;

            var key     = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(settings.JwtKey));
            var creds   = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);
            var expires = DateTime.Now.AddMinutes(settings.JwtExpireMinutes);

            claims = new List <Claim> {
                new Claim(JwtRegisteredClaimNames.Email, user.Email),
                new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()),
                new Claim(JwtRegisteredClaimNames.Sub, user.Id),
            };

            roles.ToList().ForEach(x => {
                claims.Add(new Claim(ClaimTypes.Role, x));
            });

            token = new JwtSecurityToken(
                issuer: settings.JwtIssuer,
                audience: settings.JwtIssuer,
                claims: claims,
                expires: expires,
                signingCredentials: creds
                );

            return(new JwtSecurityTokenHandler().WriteToken(token));
        }
Exemplo n.º 3
0
        public bool Post([FromBody] GetIMClass GetIM)
        {
            int  _UserID          = Convert.ToInt32(HttpContext.Current.User.Identity.Name);
            bool ISUSerAbleToChat = new UserAccountSettings().ISUserAbleToChat(_UserID, GetIM.OtherUserID);

            return(ISUSerAbleToChat);
        }
Exemplo n.º 4
0
        public UserAccountSettingsBOX()
        {
            InitializeComponent();

            panel1.Controls.Clear();
            UserAccountSettings UserAccoutS = new UserAccountSettings();

            panel1.Controls.Add(UserAccoutS);
            panel1.Dock = DockStyle.Fill;
        }
Exemplo n.º 5
0
 public TokensController(
     IUserTokenRepository tokens,
     IOptions <UserAccountSettings> options,
     IUserRepository users,
     SignInManager <SensateUser> signInManager,
     IApiKeyRepository keys,
     IHttpContextAccessor ctx
     ) : base(users, ctx)
 {
     this._tokens         = tokens;
     this._signin_manager = signInManager;
     this._settings       = options.Value;
     this._keys           = keys;
 }
Exemplo n.º 6
0
        private string LoginUser()
        {
            AuthenticationResponse _AuthenticationResponse = new AuthenticationResponse {
                Result = false
            };

            try
            {
                string m_LoginName  = string.Empty;
                string m_Password   = string.Empty;
                bool   m_IsRemember = false;
                if (Request.Form["EmailAddress"] != null && Request.Form["IsFB"] != null)
                {
                    string _UserEmail = Request.Form["EmailAddress"].ToString();
                    User   _ThisUser  = new User().GetUserDetails(_UserEmail, true);
                    m_LoginName  = _ThisUser.LoginName;
                    m_Password   = _ThisUser.Password;
                    m_IsRemember = false;
                }
                else
                {
                    m_LoginName  = Request.Form["LoginName"].ToString();
                    m_Password   = Request.Form["Password"].ToString();
                    m_IsRemember = Convert.ToBoolean(Request.Form["IsRemember"].ToString());
                }

                bool IsEmailLogin = IsValidEmail(m_LoginName);
                User m_UserDetails;

                if (IsEmailLogin)
                {
                    m_UserDetails = new User().AuthenticateUserWithEmail(m_LoginName, m_Password);
                }
                else
                {
                    m_UserDetails = new User().AuthenticateUser(m_LoginName, m_Password);
                }
                if (m_UserDetails != null)
                {
                    string ACCOUNT_STATUS = new UserAccountSettings().GetUserAccountSettings(m_UserDetails.UserID).AccoutStatus;

                    if (ACCOUNT_STATUS.ToUpper() == "A")
                    {
                        if (!m_IsRemember)
                        {
                            FormsAuthentication.RedirectFromLoginPage(m_UserDetails.UserID.ToString(), false);

                            if (m_UserDetails.Status == "A")
                            {
                                // Check if any unanswered Criteria questions
                                Criteria[] _UnAnsweredCriteriaQuestions = new Criteria().GetUnAnsweredQuestions(m_UserDetails.UserID);
                                _AuthenticationResponse.Result = true;
                                if (_UnAnsweredCriteriaQuestions.Count() == 0)
                                {
                                    _AuthenticationResponse.RedirectPath = "Web/Home";
                                }
                                else
                                {
                                    _AuthenticationResponse.RedirectPath = "Web/Criteria";
                                }
                            }
                            if (m_UserDetails.Status == "P")
                            {
                                _AuthenticationResponse.RedirectPath = "Web/Criteria";
                            }
                            if (m_UserDetails.Status == "I")
                            {
                                _AuthenticationResponse.RedirectPath = "Delete";
                            }
                        }

                        else
                        {
                            FormsAuthentication.SetAuthCookie(m_UserDetails.UserID.ToString(), true);
                            FormsAuthenticationTicket intellidateTicket = new FormsAuthenticationTicket(1, m_UserDetails.UserID.ToString(), DateTime.Now, DateTime.Now.AddDays(30), true, "");
                            HttpCookie intellidateCookie = new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(intellidateTicket));
                            Response.Cookies.Add(intellidateCookie);

                            _AuthenticationResponse.Result = true;
                            if (m_UserDetails.Status == "A")
                            {
                                // Check if any unanswered Criteria questions
                                Criteria[] _UnAnsweredCriteriaQuestions = new Criteria().GetUnAnsweredQuestions(m_UserDetails.UserID);

                                if (_UnAnsweredCriteriaQuestions.Count() == 0)
                                {
                                    _AuthenticationResponse.RedirectPath = "Web/Home";
                                }
                                else
                                {
                                    _AuthenticationResponse.RedirectPath = "Web/Criteria";
                                }
                            }
                            if (m_UserDetails.Status == "P")
                            {
                                _AuthenticationResponse.RedirectPath = "Web/Criteria";
                            }
                            if (m_UserDetails.Status == "I")
                            {
                                _AuthenticationResponse.RedirectPath = "Delete";
                            }
                        }
                    }
                    else if (ACCOUNT_STATUS.ToUpper() == "I")
                    {
                        FormsAuthentication.SetAuthCookie(m_UserDetails.UserID.ToString(), true);
                        FormsAuthenticationTicket intellidateTicket = new FormsAuthenticationTicket(1, m_UserDetails.UserID.ToString(), DateTime.Now, DateTime.Now.AddDays(30), true, "");
                        HttpCookie intellidateCookie = new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(intellidateTicket));
                        Response.Cookies.Add(intellidateCookie);

                        _AuthenticationResponse.Result       = true;
                        _AuthenticationResponse.RedirectPath = "Web/ActivateAccount";
                    }
                    else if (ACCOUNT_STATUS.ToUpper() == "D")
                    {
                        _AuthenticationResponse.Result       = false;
                        _AuthenticationResponse.RedirectPath = null;
                    }
                }
            }
            catch (Exception ex)
            {
                IntellidateR1.Error.LogError(ex, "Login LoginUser");
                _AuthenticationResponse.Result = false;
            }
            return(JsonConvert.SerializeObject(_AuthenticationResponse));
        }
Exemplo n.º 7
0
 public PasswordComplexityValidator(UserAccountSettings userAccountSettings, string password)
 {
     Settings = userAccountSettings;
     Password = password;
 }
Exemplo n.º 8
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                if (Request.QueryString["em"] != null && Request.QueryString["dt"] != null)
                {
                    //make user log out here
                    string SitePath = ConfigurationManager.AppSettings["SitePath"].ToString();
                    try
                    {
                        try
                        {
                            int UserID = Convert.ToInt32(HttpContext.Current.User.Identity.Name);
                            new OnlineUsers().RemoveOnlineUser(UserID);
                            Session.Abandon();
                        }
                        catch (Exception)
                        {
                        }
                        HttpRequest currentRequest       = HttpContext.Current.Request;
                        HttpCookie  authenticationCookie = currentRequest.Cookies[FormsAuthentication.FormsCookieName];
                        if (authenticationCookie != null)
                        {
                            // Crack the Cookie open
                            var formsAuthenticationTicket = FormsAuthentication.Decrypt(authenticationCookie.Value);

                            HttpCookie intellidateCookie = new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(formsAuthenticationTicket));
                            intellidateCookie.Expires = DateTime.Now.AddYears(-1);
                            Response.Cookies.Add(intellidateCookie);
                        }
                    }
                    catch (Exception)
                    {
                    }
                    string EmailAddress = Request.QueryString["em"].ToString();

                    DateTime _SendDate = Convert.ToDateTime(Request.QueryString["dt"].ToString());

                    DateTime _ExpiredDate = _SendDate.AddHours(24);

                    DateTime _TodayDate = DateTime.Now;

                    //email verification only done with in one day

                    if (_TodayDate <= _ExpiredDate)
                    {
                        IntellidateR1.User _User       = new IntellidateR1.User().GetUserDetails(EmailAddress, true);
                        bool m_UpdateEmailVerification = new UserAccountSettings().SetUserEmailVerification(_User.UserID, EmailAddress);
                        if (m_UpdateEmailVerification)
                        {
                            divMessage.InnerText = "Your email verification successfully completed.";
                        }
                        else
                        {
                            divMessage.InnerText = "Your email verification link is expired.";
                        }
                    }
                    else
                    {
                        divMessage.InnerText = "Your email verification link is expired.";
                    }
                }


                string        _Scripts = "";
                List <string> _LoadCss = new List <string>();
                _LoadCss.Add("css\\default");
                _LoadCss.Add("css\\intelliwindow");
                _Scripts       = _Scripts + "\n" + Helper.LoadCSS(_LoadCss.ToArray());
                ltScripts.Text = _Scripts;
            }
        }