> > On Fri, Jul 1, 2016 at 7:32 PM, Selvaratnam Uthaiyashankar < > shan...@wso2.com> wrote: > >> >> >> On Mon, Jun 27, 2016 at 3:53 PM, Gayan Gunawardana <ga...@wso2.com> >> wrote: >> >>> Hi All, >>> >>> This feature will provide capability to admin users to monitor other >>> logged in users sessions and kill those sessions if necessary. Currently >>> logged in users sessions persist inside IDN_AUTH_SESSION_STORE table and >>> there is no mapping to authenticated user. We are planning to introduce new >>> table to maintain mapping between user and session id. >>> >>> CREATE TABLE IDN_USER_SESSION_DATA ( >>> >>> SESSION_ID VARCHAR (100) DEFAULT NULL, >>> >>> USER_NAME VARCHAR(100) DEFAULT NULL, >>> >>> USER_DOMAIN_NAME VARCHAR(100) DEFAULT NULL, >>> >>> TENANT_NAME VARCHAR(100) DEFAULT NULL, >>> >> >> In all other tables, we keep TENANT_ID, not the TENANT_NAME. Any reason >> we have TENANT_NAME here and not TENANT_ID? >> > > Reason to use TENANT_NAME instead of TENANT_ID is we retrieve user tenant > information from SessionContextCacheEntry --> SequenceConfig --> > AuthenticatedUser there we don't have TENANT_ID information. I will look > into possibility of using TENANT_ID instead of TENANT_NAME. > >> >> >> >>> >>> FOREIGN KEY (SESSION_ID) REFERENCES >>> IDN_AUTH_SESSION_STORE(SESSION_ID) ON DELETE CASCADE, >>> >>> PRIMARY KEY (SESSION_ID, USER_NAME) >>> >> >> >> Is it possible for a SESSION_ID to have multiple USER_NAME? if not, above >> primary key doesn't make sense. >> > Yes. It is possible to have multiple USER_NAME for SESSION_ID. >
Can you give an example of a situation where you can have a single SESSION_ID and different USER_NAME? I thought the session and session_id are for a particular user. If multiple usernames are possible, if we want to terminate a session, how to achieve that? > >> >> >>> >>> ); >>> >>> According to latest implementation of session data persistence, we can >>> consider particular SESSION ID is active if last record (sorted by time >>> descending order) for given SESSION ID is "STORE" operation. If there are >>> two store operations to IDN_AUTH_SESSION_STORE table there is a problem of >>> duplicating data in IDN_USER_SESSION_DATA. We need to find a way to handle >>> this situation. >>> >>> 1. Listing active session list for given user >>> >>> In back-end distinguish sessions will be identified by using SESSION_ID >>> but in front-end we cannot display SESSION_ID. In front-end unique sessions >>> will be displayed according to User-Agent. >>> >>> 2. Listing users who have active sessions >>> >>> Listing users who have at least one active session will be challenging. >>> Since IDN_AUTH_SESSION_STORE table is HUGE in a production system, and >>> doing a JOIN operation with it would be costly. >>> >>> The username in the USER_SESSION_DATA is picked from the authenticated >>> user attribute available in the session context. This attribute is set >>> after all processing done in the SequenceHandler hence the authenticated >>> user here actually subject identifier, rather than a real username. >>> >>> Hence the username in the USER_SESSION_DATA table can be one of >>> following, >>> i. A Local User : who use the actual username as the subject identifier >>> ii. A Local User : who use a claim as the subject identifier >>> iii. A Federated User : who use federated subject or a claim >>> >>> Only in first scenario, it can find proper user store domain from the >>> username. In the third scenario we can store federated IDP name for >>> USER_DOMAIN_NAME. >>> >>> Handling\Storing usernames is a common thing we need to decide (in OAuth >>> IDN_OAUTH2_ACCESS_TOKEN we have the same problem), so we should figure out >>> a general schema for IDN_USER_SESSION_DATA that can be used for all types >>> of users. >>> >>> Thanks, >>> Gayan >>> -- >>> Gayan Gunawardana >>> Software Engineer; WSO2 Inc.; http://wso2.com/ >>> Email: ga...@wso2.com >>> Mobile: +94 (71) 8020933 >>> >>> _______________________________________________ >>> Architecture mailing list >>> Architecture@wso2.org >>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>> >>> >> >> >> -- >> S.Uthaiyashankar >> VP Engineering >> WSO2 Inc. >> http://wso2.com/ - "lean . enterprise . middleware" >> >> Phone: +94 714897591 >> >> _______________________________________________ >> Architecture mailing list >> Architecture@wso2.org >> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >> >> > > > -- > Gayan Gunawardana > Software Engineer; WSO2 Inc.; http://wso2.com/ > Email: ga...@wso2.com > Mobile: +94 (71) 8020933 > > _______________________________________________ > Architecture mailing list > Architecture@wso2.org > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture > > -- S.Uthaiyashankar VP Engineering WSO2 Inc. http://wso2.com/ - "lean . enterprise . middleware" Phone: +94 714897591
_______________________________________________ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture