Hi team, It's been a few days since I'm struggling with front SLO.
Implementing front SLO (and back SLO) is pretty complex and has big impacts on the source code. So I propose to do it in two pull requests : - the first one to change the cas-server-core to make it able to handle front SLO and still performs the back SLO - the second one to change the cas-server-webapp to really perform front SLO in addition to back SLO. I just sent a pull request to change the cas-server-core : https://github.com/Jasig/cas/pull/248. It should be a good start for this dicussion. The key questions : 1) have one logout manager or put logout logic in services So far, the services (AbstractWebApplicationService and inherited classes) hold their logout logic through the logOutOfService method. Following the advice given by Marvin, I created one logout manager which has the logout logic and clean strongly the services classes. It has many impacts as the httpClient is now injected in the LogoutManagerImpl and no more in argument extractors and services classes. I think it improves the general design of logout in the source code. 2) when to find if the service is back or front SLO : at service creation or at logout To be able to perform properly the SLO, the logout manager must know if the service requires back or front channel SLO (LogoutType). This can be computed using the servicesManager bean : - at service creation (in the argument extractors) - at logout (in the logout manager) : this is what I implemented. I made this choice because I think that the logout type makes more sense at logout. Any help/feedback will be greatly appreciated here... Thanks. Best regards, Jérôme -- You are currently subscribed to [email protected] as: [email protected] To unsubscribe, change settings or access archives, see http://www.ja-sig.org/wiki/display/JSG/cas-dev
