private void CheckForMultipleSessionsPerUser()
        {
            if (AllowMultipleSessionsPerUser)
            {
                return;
            }
            var user = IdentityHelper.GetCurrentApplicationUser();

            IdentityHelper.AddUserSession(user?.UserName);
            if (IdentityHelper.UserHasAnotherSession(user.UserName, HttpContext.Current?.Session?.SessionID))
            {
                IdentityHelper.SignOutUserFromAllSessions(user, HttpContext.Current?.Session?.SessionID);
            }
        }
Esempio n. 2
0
        protected void CheckForMultipleSessionsPerUser()
        {
            if (AllowMultipleSessionsPerUser)
            {
                return;
            }

            var user = IdentityHelper.GetCurrentUserName();

            if (IdentityHelper.UserHasAnotherSession(user, HttpContext.Current?.Session?.SessionID))
            {
                IdentityHelper.RemoveUserSession(HttpContext.Current?.Session?.SessionID);
                var msg = $"There is already an active session for user {user} !";
                HttpContext.Current?.Response?.AddHeader(nameof(SecurityException), msg);
                throw new SecurityException(msg);
            }
            else
            {
                IdentityHelper.AddUserSession(user);
            }
        }