예제 #1
0
        public static void LoginFailedLog(IUserLoginService userLoginService, string ip, string clientId, long?fkUser = null)
        {
            UserLogin tbluserLogin = new UserLogin
            {
                UserId     = fkUser,
                IPAddress  = ip,
                Successful = false,
                AppId      = clientId,
                DateUtc    = DateTime.UtcNow,
                IsLoggedIn = false
            };

            userLoginService.InsertUserLogin(tbluserLogin);
        }
예제 #2
0
        public async Task CreateAsync(AuthenticationTokenCreateContext context)
        {
            try
            {
                var clientid  = context.Ticket.Properties.Dictionary["as:client_id"];
                var userId    = context.Ticket.Properties.Dictionary["UserId"];
                var ipAddress = context.Ticket.Properties.Dictionary["IPAddress"];

                if (string.IsNullOrEmpty(clientid))
                {
                    return;
                }

                var  refreshTokenId = Guid.NewGuid().ToString("n");
                var  userService    = StructureMap.ObjectFactory.GetInstance <IUserService>();
                User user           = userService.GetUsers(x => x.Id == int.Parse(userId)).FirstOrDefault();


                UserLogin tbluserLogin = new UserLogin
                {
                    UserId     = int.Parse(userId),
                    IPAddress  = ipAddress,
                    Successful = true,
                    TokenId    = refreshTokenId,
                    AppId      = clientid,
                    DateUtc    = DateTime.UtcNow,
                    IsLoggedIn = true
                };

                context.Ticket.Properties.IssuedUtc = tbluserLogin.DateUtc;
                tbluserLogin.ProtectedTicket        = context.SerializeTicket();
                _userLoginService.InsertUserLogin(tbluserLogin);

                context.SetToken(refreshTokenId);
            }
            catch
            {
            }
        }