예제 #1
0
        void IAuthenticationManager.LogIn(HttpContextBase context, IRegisteredUser user, AuthenticationStatus status)
        {
            if (user == null)
            {
                throw new ArgumentNullException("user");
            }

            // Do the HTTP stuff.

            _cookieManager.CreateAuthenticationCookie(context, user);

            // Do the ASP.NET stuff.

            var identity = new RegisteredUserIdentity(user.Id, user.UserType, user.IsActivated)
            {
                FullName   = user.FullName,
                NeedsReset = false,
                User       = user
            };

            // Record it.

            _userSessionsCommand.CreateUserLogin(new UserLogin
            {
                UserId               = user.Id,
                SessionId            = GetSessionId(user.Id, context.Request.UserHostAddress, context.Session),
                IpAddress            = context.Request.UserHostAddress,
                AuthenticationStatus = status
            });
            context.User = new RegisteredUserPrincipal(identity);
        }
예제 #2
0
        public static void MockContext(this ViewController controller, IRegisteredUser user)
        {
            var identity = new RegisteredUserIdentity(user.Id, user.UserType, user.IsActivated)
            {
                FullName = user.FullName, NeedsReset = false, User = user
            };
            var principal = new RegisteredUserPrincipal(identity);

            var mockContext = new Mock <HttpContextBase>();

            mockContext.SetupGet(c => c.User).Returns(principal);

            var mockRequest = new Mock <HttpRequestBase>();

            mockRequest.SetupGet(r => r.Headers).Returns(new NameValueCollection {
                { "X-Rewrite-URL", "/" }
            });
            mockContext.SetupGet(c => c.Request).Returns(mockRequest.Object);

            var mockResponse = new HttpResponseWrapper(new HttpResponse(new StringWriter()));

            mockContext.SetupGet(c => c.Response).Returns(mockResponse);

            var mockControllerContext = new Mock <ControllerContext>();

            mockControllerContext.SetupGet(c => c.HttpContext).Returns(mockContext.Object);

            controller.ControllerContext = mockControllerContext.Object;
        }
예제 #3
0
        private static RegisteredUserPrincipal CreateRegisteredUserPrincipal(AuthenticationUserData userData)
        {
            // Set up the user with everything we know.

            var identity = new RegisteredUserIdentity(userData.UserId, userData.UserType, userData.IsActivated)
            {
                FullName   = userData.FullName,
                NeedsReset = userData.NeedsReset
            };

            return(new RegisteredUserPrincipal(identity));
        }