예제 #1
0
 public LoginTests()
 {
     _mocker         = new MockerFactory();
     authServiceMock = new Mock <IAuthService>();
     userRepoMock    = new Mock <IUserRepository>();
     _sut            = new AuthServiceProvider(authServiceMock.Object, _mocker.Mapper.Object, userRepoMock.Object);
 }
예제 #2
0
 public LogoutTests()
 {
     _mocker         = new MockerFactory();
     authServiceMock = new Mock <IAuthService>();
     userRepoMock    = new Mock <IUserRepository>();
     ctxMock         = new Mock <IHttpContextAccessor>();
     _sut            = new AuthServiceProvider(authServiceMock.Object, _mocker.Mapper.Object, userRepoMock.Object);
 }
        protected override bool Authenticate(HttpContext context, AuthServiceProvider provider, AuthLoginOptions options, UserData userData)
        {
            string userName = userData.Email ?? userData.Name;

            if (string.IsNullOrEmpty(userName))
            {
                return(false);
            }

            // create the user if he doesn't exist
            MembershipUser user = new MembershipUser("AspNetSqlMembershipProvider", userName, userName, userName, "AA", "AA", true, false, DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now);

            //MembershipUser user = Membership.GetUser(email);
            if (user == null)
            {
                string password = Membership.GeneratePassword(8, 0);
                user = Membership.CreateUser(userData.Email, password, userData.Email);
            }

            if ((options & AuthLoginOptions.Device) == AuthLoginOptions.Device)
            {
                HttpCookie authCookie = GetAuthCookie(userName, true, false);
                context.Response.Cookies.Add(authCookie);

                HttpCookie emailCookie = new HttpCookie(".EMAIL", userName)
                {
                    HttpOnly = false
                };
                context.Response.Cookies.Add(emailCookie);
            }
            else
            {
                // do Forms login
                HttpCookie authCookie = GetAuthCookie(userName, true, true);
                context.Response.Cookies.Add(authCookie);

                RedirectSuccess(context);
            }

            return(true);
        }
예제 #4
0
 public Startup()
 {
     _authServiceProvider = new AuthServiceProvider(new LoginService(new EmployeeService(new Data.HrDbModel()), new Sha256Hasher()));
 }