{"issue":{"state":"closed","created_at":"2011-10-26T15:18:41Z","updated_at":"2011-11-23T00:46:20Z","comments":4,"user":{"gravatar_id":"53a316af41fe3536d548e1a5e3ec9dcd","id":151566,"url":"https://api.github.com/users/jaredquinn","avatar_url":"https://secure.gravatar.com/avatar/53a316af41fe3536d548e1a5e3ec9dcd?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jaredquinn"},"body":"Provides the ability to limit the number of concurrent logins allowed by Concrete5.\r\n\r\nChanges are controlled by config/site.php and the following defintions:\r\n\r\ndefine('ENABLE_CONCURRENT_SESSION_LIMIT', True);  # Use concurrent login code\r\ndefine('CONCURRENT_SESSION_LIFE', 8);  # Number of hours to hold a session for\r\ndefine('CONCURRENT_SESSION_LIMIT', 1); # Default number of concurrent sessions allowed\r\n \r\nThe admin user (USER_SUPER_ID) is not restricted and will be automatically permitted to log in as many times as requested.\r\n\r\nThe number of permitted concurrent sessions can be configured on a per-user basis with the addition of a UserAttribute with the handle of 'allowed_sessions' which can be set to the number of permitted concurrent logins (or -1 for Unlimited).\r\n\r\nSessions are determined by PHP Session ID, IP Address and Browser Version.\r\nAll must match for a session to continue.\r\n\r\nA new database table is required for the sessions.  Use the \"refresh\r\ndatabase\" functionality under Dashboard -> Sitewide Settings -> Refresh\r\nSchema and ensure the 'core database tables' option is ticked.\r\n\r\nThere is currently no way to remove or view sessions from the Dashboard\r\ninterface.  This may be added in the near future.\r\n\r\nThis feature was requested by a client who agreed to allow the changes to be submitted back to the community.\r\n","assignee":null,"id":2057740,"number":182,"labels":[],"pull_request":{"patch_url":"https://github.com/concrete5/concrete5/pull/182.patch","html_url":"https://github.com/concrete5/concrete5/pull/182","diff_url":"https://github.com/concrete5/concrete5/pull/182.diff"},"title":"Limit Concurrent Member Logins ","closed_at":"2011-11-23T00:46:20Z","html_url":"https://github.com/concrete5/concrete5/issues/182","milestone":null,"url":"https://api.github.com/repos/concrete5/concrete5/issues/182"},"action":"created","comment":{"created_at":"2011-11-23T00:46:20Z","updated_at":"2011-11-23T00:46:20Z","user":{"gravatar_id":"90c2803fabd994378063e84dd9a3ed92","id":527809,"url":"https://api.github.com/users/aembler","avatar_url":"https://secure.gravatar.com/avatar/90c2803fabd994378063e84dd9a3ed92?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"aembler"},"body":"This is sweet, but I don't I can approve something like this until we have our entire authentication framework situations sorted out. This looks really good though. ","id":2843410,"url":"https://api.github.com/repos/concrete5/concrete5/issues/comments/2843410"}}