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