This is an exceptional use case. No need to further complicate it. As it is a view of the end state, the request scope is the most appropriate. Just don't let your users click the back button, or if they do - too bad :-)
Cheers, Dmitriy. Sent from my iPhone On Nov 30, 2012, at 3:06, Sandip Paul <[email protected]> wrote: > Hi Dmitriy, > > First of all appreciating your valuable contribution here. > > I will soon give a try for this. > > But I have a small clarification regarding this, i.e. as you mentioned that > the principal will be available in the request scope. In this case, if you > can flash back my scenario, there if a user after successful authentication > lands on casGenericSuccess.jsp page and move to say, app1 after clicking the > link(anchor tag) provided. and after doing some operation on app1, if user > want to return back to casGenericSuccess.jsp page by using browser 'back > button', > in these case whether the principal object is still be available in the > requestScope ? > > Thanks, > Sandip > > > On 29 November 2012 21:34, Dmitriy Kopylenko <[email protected]> wrote: > Hi Sandip. If you have use case such that you have described and you > absolutely must have an access to the current authenticated principal in the > generic success login view, here's one way to do that, relatively painlessly. > Follow these steps in your CAS maven overlay: > > 1) Bring cas-addons dependency into the pom: > > <dependency> > <groupId>net.unicon.cas</groupId> > <artifactId>cas-addons</artifactId> > <version>1.0.5</version> > </dependency> > > 2) Define 'authenticationSupport' bean in the application context (this could > go into any Spring xml file under WEB-INF/spring-configuration): > > <beans xmlns="http://www.springframework.org/schema/beans" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns:c="http://www.springframework.org/schema/c" > xsi:schemaLocation="http://www.springframework.org/schema/beans > http://www.springframework.org/schema/beans/spring-beans.xsd"/> > > <bean id="authenticationSupport" > class="net.unicon.cas.addons.authentication.internal.DefaultAuthenticationSupport" > c:ticketRegistry-ref="ticketRegistry"/> > > </beans> > > 3) In WEB-INF/login-webflow.xml re-define 'viewGenericLoginSuccess' end state > like so: > > <end-state id="viewGenericLoginSuccess" view="casLoginGenericSuccessView"> > <on-entry> > <evaluate > expression="authenticationSupport.getAuthenticatedPrincipalFrom(requestScope.ticketGrantingTicketId)" > result="requestScope.principal"/> > </on-entry> > </end-state> > > Then you should have org.jasig.cas.authentication.principal.Principal > instance under the 'principal' key in the request scope and you could access > it in casGenericSuccess.jsp like so: > > <c:out value="${principal.id}" /> > > Hope this helps a bit. > > Cheers, > Dmitriy. > > > On Nov 29, 2012, at 7:19 AM, Sandip Paul <[email protected]> wrote: > >> Hi Scott, >> >> I completely agree your comment on this but below is the use case where I >> need to show userName/ other details from Principal Object on >> casGenericSuccessView.jsp >> >> for example: we have 2 application that we have integrated with CAS: say, >> app1 & app2 >> our current implementation is like: user will try to access app1/app2, they >> will be redirected to CAS login, only after successful authentication that >> particular user will again be redirected to the particular application, the >> user has requested. >> >> Case: >> By watching the redirection url patterns, An intelligent user :) can >> directly access the CAS login page. in that case we thought of handling this >> scenario by showing the link(anchor tag) to our 2 application(app1 & app2). >> and here we have a requirement to show the userName/other user related >> details on casGenericSuccessView.jsp page itself. >> >> I believe this case should get handled by the CAS server by providing a >> straight forward API, though I don't know any other cons that can happen if >> you implement this. >> >> Even I have seen this requirement is been highly asked by different users in >> cas-user community including me (see the mail chain). >> >> Treat this as a suggestion to improve the CAS. >> >> Thanks you very much. >> Sandip >> >> >> On 29 November 2012 09:10, Scott Battaglia <[email protected]> wrote: >> Your users should *almost* *never* see that generic page unless you for some >> reason bring them to the CAS page without a service url. We do not >> recommend you bring users to a single sign on server without a service. Its >> confusing to the end user. >> >> Cheers, >> Scott >> >> >> On Wed, Nov 28, 2012 at 12:42 AM, Sandip Paul <[email protected]> wrote: >> Hi CAS Developers, >> >> I am trying to integrate my existing applications with CAS. But while doing >> so, I can see that there is no straight forward API provided to access >> logged-in userName or the Principal object in casGenericSuccessView.jsp >> though the logged-in userName is available by using request.getRemoteUser() >> at cas-client application side. >> >> I am finding difficulties to achieve this and got stuck. Also I can see >> there are others like me want to access username to show >> for example: Welcome <userName> to the casGenericSuccessView.jsp and I >> believe this should be kind of a basic feature that should be available >> after a valid user successfully authenticated from the CAS login and >> redirected to casGenericSuccessView.jsp page. >> >> Even I don't see any proper explanation/code snippet to achieve this on the >> blogs. >> >> Hereby requesting you guys please add this API to the main flow of the >> CAS-Server release if possible. >> >> >> Regards, >> Sandip >> >> >> ---------- Forwarded message ---------- >> From: jayesh patel <[email protected]> >> Date: 27 November 2012 10:59 >> Subject: Re: [cas-user] username/user object on the casGenericSuccess.jsp >> To: [email protected] >> >> >> Hi Sandip, >> >> I am facing similar issue, and stuck at the same problem. >> >> Can somebody please help with the code snippet for accessing userName or >> Principal object in casGenericSuccessView.jsp. >> >> It would be of great help if somebody provide link to example where complete >> explanation with sample code is given. >> >> Thanks. >> >> >> On Tue, Nov 27, 2012 at 12:06 AM, Dmitriy Kopylenko <[email protected]> >> wrote: >> To simplify this tgtId -> principal "extraction dance", there is a >> convenience API (with the default implementation) in cas-addons that could >> be used: >> https://github.com/Unicon/cas-addons/blob/master/src/main/java/net/unicon/cas/addons/authentication/AuthenticationSupport.java >> >> Cheers, >> Dmitriy. >> >> >> On Nov 26, 2012, at 1:30 PM, Sandip Paul <[email protected]> wrote: >> >>> Hi CAS Gurus, >>> >>> I need to retrieve the username/user object on the casGenericSuccess.jsp? >>> After a short google search I found a solution mentioned in the below: >>> http://bb10.com/java-jasig-cas-user/2010-10/msg00102.html >>> >>> But I am finding difficulties implementing this as I am just a beginner in >>> spring web-flow. Can someone share the code snippet so that I can get some >>> help. >>> >>> Highly appreciate your valuable comment on this. >>> >>> Regards, >>> Sandip >>> -- >>> 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-user >> >> >> -- >> 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-user >> >> -- >> 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-user >> >> -- >> 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 >> >> -- >> 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 >> >> -- >> 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 > > > -- > 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 > > -- > 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 -- 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
