Hi All,

The `SessionManager` interface and `SessionManagerFactory` interface
methods would be as follows:

*SessionManager*

This class is responsible for managing the user sessions for a single UUF
app.


   - Session createSession(User user, HttpRequest request,
HttpResponse response) throws SessionManagerException;
   - Optional<Session> getSession(HttpRequest request, HttpResponse
response) throws SessionManagerException;
   - boolean destroySession(HttpRequest request, HttpResponse
response) throws SessionManagerException;
   - int getCount();

*SessionManagerFactory*

This class is responsible for providing session managers for UUF apps.

   - SessionManager getSessionManager(String appName, Configuration
   configuration) throws SessionManagerException;



On Tue, May 2, 2017 at 5:57 PM, Vidura Nanayakkara <[email protected]> wrote:

> Hi All,
>
> According to [1], the following points will be amended.
>
> In order to plug in a custom session manager, one need to implement the
> given `SessionManager` and the `SessionManagerFactory` interface. That
> implementation needs to be specified in the `app.yaml` configuration of the
> particular UUF app.
>
> Example app.yaml configuration:
>
> *# Session manager configuration for this app*
> *sessionManagement:*
> *    # Session manager factory for this app*
> *    factoryClassName: "..."*
>     *# Session timeout in seconds for this app*
> *    timeout: 600*
>
>
> [1] Updated Invitation: UUF Pluggable Session Manager and Authenticator
> Review @ Tue May 2, 2017 2:30pm - 3:30pm (IST) (WSO2 Engineering Group)
>
>
> On Tue, May 2, 2017 at 12:53 PM, Dilan Udara Ariyaratne <[email protected]>
> wrote:
>
>> Hi Sajith,
>>
>> My apologies. Did not see the fact that SessionManager is already
>> extending SessionHandler,
>> so with your explanation on their difference, it seems fine to me.
>>
>> Thanks,
>> Dilan.
>>
>>
>>
>> *Dilan U. Ariyaratne*
>> Senior Software Engineer
>> WSO2 Inc. <http://wso2.com/>
>> Mobile: +94766405580 <%2B94766405580>
>> lean . enterprise . middleware
>>
>>
>> On Tue, May 2, 2017 at 12:18 PM, SajithAR Ariyarathna <[email protected]>
>> wrote:
>>
>>> Hi Dilan,
>>>
>>> The purpose of the SessionHandler and SessionManager is different.
>>>
>>> SessionManager is an extension point (a plugin for UUF) for webapp
>>> developers. SessionHandler is meant to be passed for other plugins (e.g.
>>> Authenticator) as a way do session related operations (e.g. create a new
>>> session when login). If we pass the SessionManager instead, it will over
>>> expose the session management operations (e.g. close() method). So to
>>> encapsulate properly we decided to go with two interfaces, SessionHandler
>>> and SessionManager.
>>>
>>> Thanks.
>>>
>>> On Tue, May 2, 2017 at 11:49 AM, Dilan Udara Ariyaratne <[email protected]
>>> > wrote:
>>>
>>>> Hi Imesh and @Vidura,
>>>>
>>>> I wonder if both SessionHandler and SessionManager interfaces could be
>>>> merged together to have one interface
>>>> that could derive all management level functionalities of a session ?
>>>>
>>>> I think that current SessionManager, i.e. org.wso2.carbon.uuf.spi.auth.
>>>> SessionManager is bit meaningless without capabilities like
>>>> createSession(), getSession() and destroySession() that
>>>> org.wso2.carbon.uuf.api.auth.SessionHandler provides.
>>>>
>>>> WDYT?
>>>>
>>>> Thanks,
>>>> Dilan.
>>>>
>>>> *Dilan U. Ariyaratne*
>>>> Senior Software Engineer
>>>> WSO2 Inc. <http://wso2.com/>
>>>> Mobile: +94766405580 <%2B94766405580>
>>>> lean . enterprise . middleware
>>>>
>>>>
>>>> On Tue, May 2, 2017 at 11:02 AM, Imesh Gunaratne <[email protected]>
>>>> wrote:
>>>>
>>>>> On Tue, May 2, 2017 at 10:44 AM, Dilan Udara Ariyaratne <
>>>>> [email protected]> wrote:
>>>>>
>>>>>>
>>>>>> In the meantime, could you elaborate on the method level details of
>>>>>> the Session manager interface, too?
>>>>>>
>>>>>
>>>>> ​SessionManager:​
>>>>> ​https://github.com/wso2/carbon-uuf/pull/241/files#diff-50f8
>>>>> 2419222617b7f14b6d08d45984ac
>>>>>
>>>>> SessionHandler:
>>>>> https://github.com/wso2/carbon-uuf/pull/241/files#diff-39f1b
>>>>> 4c291c422e721e8c56d191c75e3​
>>>>>
>>>>> Thanks
>>>>>
>>>>>>
>>>>>> Cheers,
>>>>>> Dilan.
>>>>>>
>>>>>> *Dilan U. Ariyaratne*
>>>>>> Senior Software Engineer
>>>>>> WSO2 Inc. <http://wso2.com/>
>>>>>> Mobile: +94766405580 <%2B94766405580>
>>>>>> lean . enterprise . middleware
>>>>>>
>>>>>>
>>>>>> On Mon, May 1, 2017 at 10:39 PM, Shazni Nazeer <[email protected]>
>>>>>> wrote:
>>>>>>
>>>>>>> It is beneficial to have this in the UUF.
>>>>>>>
>>>>>>> Many frameworks (in particular web frameworks such as Django,
>>>>>>> CakePHP and Ruby on Rails) support this kind of pluggable Session
>>>>>>> Management capabilities.
>>>>>>>
>>>>>>> On Fri, Apr 28, 2017 at 3:46 PM, Vidura Nanayakkara <
>>>>>>> [email protected]> wrote:
>>>>>>>
>>>>>>>> Hi All,
>>>>>>>>
>>>>>>>> We are in the process of introducing extensible session management
>>>>>>>> mechanism for Carbon UUF.
>>>>>>>>
>>>>>>>> Previously in Carbon UUF, the session management was not extensible
>>>>>>>> and was tightly coupled to the Carbon UUF framework. The purpose of
>>>>>>>> introducing an extensible session management mechanism is to give the
>>>>>>>> ability for the web app developers to plug in any session management
>>>>>>>> implementation of choice. For instance, this can be a JDBC persistent
>>>>>>>> session management or a token based session management implementation.
>>>>>>>>
>>>>>>>> In order to plug in a custom session manager, one need to implement
>>>>>>>> the given `SessionManager` interface. That implementation needs to be
>>>>>>>> specified in the `app.yaml` configuration of the particular UUF app.
>>>>>>>>
>>>>>>>> Example app.yaml configuration:
>>>>>>>>
>>>>>>>> *...*
>>>>>>>>
>>>>>>>> # Session manager for this app
>>>>>>>>
>>>>>>>> sessionManager: *"org.wso2.carbon.uuf.api.auth.InMemorySessionManager"*
>>>>>>>>
>>>>>>>> *...*
>>>>>>>>
>>>>>>>> *WDYT?*
>>>>>>>>
>>>>>>>>
>>>>>>>> Best Regards,
>>>>>>>>
>>>>>>>> *Vidura Nanayakkara*
>>>>>>>> Software Engineer
>>>>>>>>
>>>>>>>> Email : [email protected]
>>>>>>>> Mobile : +94 (0) 717 919277 <+94%2071%20791%209277>
>>>>>>>> Web : http://wso2.com
>>>>>>>> Blog : https://medium.com/@viduran <http://wso2.com/>
>>>>>>>> LinkedIn : https://lk.linkedin.com/in/vidura-nanayakkara
>>>>>>>> <http://wso2.com/>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Architecture mailing list
>>>>>>>> [email protected]
>>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Shazni Nazeer
>>>>>>>
>>>>>>> Mob : +94 777737331
>>>>>>> LinkedIn : http://lk.linkedin.com/in/shazninazeer
>>>>>>> Blog : http://shazninazeer.blogspot.com
>>>>>>>
>>>>>>> <http://wso2.com/signature>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Architecture mailing list
>>>>>>> [email protected]
>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Architecture mailing list
>>>>>> [email protected]
>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> *Imesh Gunaratne*
>>>>> WSO2 Inc: http://wso2.com
>>>>> T: +94 11 214 5345 M: +94 77 374 2057 <+94%2077%20374%202057>
>>>>> W: https://medium.com/@imesh TW: @imesh
>>>>> lean. enterprise. middleware
>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> Architecture mailing list
>>>> [email protected]
>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>
>>>>
>>>
>>>
>>> --
>>> Sajith Janaprasad Ariyarathna
>>> Senior Software Engineer; WSO2, Inc.;  http://wso2.com/
>>> <https://wso2.com/signature>
>>>
>>
>>
>> _______________________________________________
>> Architecture mailing list
>> [email protected]
>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>
>>
>
>
> --
> Best Regards,
>
> *Vidura Nanayakkara*
> Software Engineer
>
> Email : [email protected]
> Mobile : +94 (0) 717 919277 <+94%2071%20791%209277>
> Web : http://wso2.com
> Blog : https://medium.com/@viduran <http://wso2.com/>
> LinkedIn : https://lk.linkedin.com/in/vidura-nanayakkara
> <http://wso2.com/>
>



-- 
Best Regards,

*Vidura Nanayakkara*
Software Engineer

Email : [email protected]
Mobile : +94 (0) 717 919277
Web : http://wso2.com
Blog : https://medium.com/@viduran <http://wso2.com/>
LinkedIn : https://lk.linkedin.com/in/vidura-nanayakkara <http://wso2.com/>
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to