Ok, the supports method returns false beacuse the credentials are
username/password and not a x.509 credentials.

The question is, why the handler is not executed with the certificate before
the login page is shown?

This is my login flow

<?xml version="1.0" encoding="UTF-8"?>
<flow xmlns="http://www.springframework.org/schema/webflow";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xsi:schemaLocation="
              http://www.springframework.org/schema/webflow

http://www.springframework.org/schema/webflow/spring-webflow-1.0.xsd";>

<start-state idref="automaticCookiePathSetter" />

<action-state id="automaticCookiePathSetter">
<action bean="automaticCookiePathSetterAction" />
<transition on="success"
to="ticketGrantingTicketExistsCheckAction" />
</action-state>

<action-state id="ticketGrantingTicketExistsCheckAction">
<action bean="ticketGrantingTicketExistsAction" />
<transition on="ticketGrantingTicketExists"
to="hasServiceCheck" />
<transition on="noTicketGrantingTicketExists"
to="gatewayRequestCheck" />
</action-state>

<!--
<action-state id="gatewayRequestCheck">
<action bean="gatewayRequestCheckAction" />
<transition on="gateway" to="redirect" />
<transition on="authenticationRequired" to="viewLoginForm" />
</action-state>
-->
<action-state id="gatewayRequestCheck">
<action bean="gatewayRequestCheckAction" />
<transition on="gateway" to="redirect" />
<transition on="authenticationRequired" to="startAuthenticate" />
</action-state>
 <action-state id="hasServiceCheck">
<action bean="hasServiceCheckAction" />
<transition on="authenticatedButNoService"
to="viewGenericLoginSuccess" />
<transition on="hasService" to="renewRequestCheck" />
</action-state>

<!--
<action-state id="renewRequestCheck">
<action bean="renewRequestCheckAction" />
<transition on="authenticationRequired" to="viewLoginForm" />
<transition on="generateServiceTicket"
to="generateServiceTicket" />
</action-state>
  -->
  <action-state id="renewRequestCheck">
<action bean="renewRequestCheckAction" />
<transition on="authenticationRequired" to="startAuthenticate" />
<transition on="generateServiceTicket"
to="generateServiceTicket" />
</action-state>

<action-state id="startAuthenticate">
<action bean="x509Check" />
<transition on="success" to="sendTicketGrantingTicket" />
<transition on="error" to="viewLoginForm" />
</action-state>

<view-state id="viewLoginForm" view="casLoginView">
<transition on="submit" to="bindAndValidate" />
</view-state>


<action-state id="bindAndValidate">
<action bean="authenticationViaFormAction" />
<transition on="success" to="submit" />
<transition on="error" to="viewLoginForm" />
</action-state>

<action-state id="submit">
<action bean="authenticationViaFormAction" method="submit" />
<transition on="warn" to="warn" />
<transition on="success" to="sendTicketGrantingTicket" />
<transition on="error" to="viewLoginForm" />
</action-state>

<action-state id="sendTicketGrantingTicket">
<action bean="sendTicketGrantingTicketAction" />
<transition on="success" to="serviceCheck" />
</action-state>

<action-state id="serviceCheck">
<action bean="hasServiceCheckAction" />
<transition on="authenticatedButNoService"
to="viewGenericLoginSuccess" />
<transition on="hasService" to="generateServiceTicket" />
</action-state>

<action-state id="generateServiceTicket">
<action bean="generateServiceTicketAction" />
<transition on="success" to="warn" />
<transition on="error" to="viewLoginForm" />
<transition on="gateway" to="redirect" />
</action-state>

<!--
The "warn" action makes the determination of whether to redirect directly to
the requested
service or display the "confirmation" page to go back to the server.
-->
<action-state id="warn">
<action bean="warnAction" />
<transition on="redirect" to="redirect" />
<transition on="warn" to="showWarningView" />
</action-state>

<!--
the "viewGenericLogin" is the end state for when a user attempts to login
without coming directly from a service.
They have only initialized their single-sign on session.
-->
<end-state id="viewGenericLoginSuccess"
view="casLoginGenericSuccessView" />


<!--
The "showWarningView" end state is the end state for when the user has
requested privacy settings (to be "warned") to be turned on.  It delegates
to a
view defines in default_views.properties that display the "Please click here
to go to the service." message.
-->
<end-state id="showWarningView" view="casLoginConfirmView" />

<!--
The "redirect" end state allows CAS to properly end the workflow while still
redirecting
the user back to the service required.
-->
<end-state id="redirect"
view="externalRedirect:${externalContext.requestParameterMap['service']}${requestScope.ticket
== null ? '' : (externalContext.requestParameterMap['service'].indexOf('?')
!= -1 ? '&amp;' : '?') + 'ticket=' + requestScope.ticket}" />
 <global-transitions>
<transition to="viewServiceErrorView"
on-exception="org.jasig.cas.services.UnauthorizedServiceException" />
</global-transitions>


2010/2/23 Pablo Mosquera Saenz <[email protected]>

> I have this line
>
> 2010-02-23 09:37:56,546 ERROR [org.hibernate.util.JDBCExceptionReporter] -
> Cannot create JDBC driver of class '' for connect URL 'null'
>
> I have another handler that authenticates with a database, so it shouldnt
> be the problem (the x.509 handler doesnt connect to db)
>
> I have imported the CAs to the cacerts of the tomcat jvm. The problem is
> that the method authenticate() from the handler is not executed. Perhaps its
> something with the support() method, but I am not an expert with
> certificates.  If I execute in debug mode CAS, the execution doesnt enter
> the handler class any moment.
>
> When the login page is showed, the handler is executed (the support method)
> when I enter user and password. The method supports returns FALSE. The id
> card uses a X.509 certificate. Why returns false?
>
> Could it be that login webflow is not well configured? I think that the
> login page shouldnt appear, and that the handler should be executed before.
>
> Sorry for so many questions Marvin, but I need to make this work soon.
>
>
> Thanks
>
> Pablo Mosquera
>
>
>

-- 
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

Reply via email to