[cas-user] Configuring CAS client unsing JNDI in Jboss 4

278 views
Skip to first unread message

Nicolas Géraud

unread,
Jun 22, 2012, 11:38:45 AM6/22/12
to cas-...@lists.jasig.org
Hi all,


i'm testing protection using jndi on JBoss4.2.2
In Tomcat i have followed the documentation (put parameters in context.xml) and it works well.

I've done that on jboss4 :

$JBOSS_HOME/server/default/conf/jboss-service.xml
    <mbean code="org.jboss.naming.JNDIBindingServiceMgr" name="com.vh.ds.jboss.client:name=jndiBinding">
        <attribute name="BindingsConfig" serialDataType="jbxb">
            <jndi:bindings xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
                                            xmlns:jndi="urn:jboss:jndi-binding-service:1.0"
                                            xs:schemaLocation="urn:jboss:jndi-binding-service resource:jndi-binding-service_1_0.xsd">
               
        <jndi:binding name="java:comp/env/cas/serverName">
            <jndi:value>http://casclient.nicolasgeraud.com:18080</jndi:value>
        </jndi:binding>
       
        <jndi:binding name="java:comp/env/cas/casServerLoginUrl">
            <jndi:value>https://casserver.nicolasgeraud.com:28443/cas/login</jndi:value>
        </jndi:binding>

        <jndi:binding name="java:comp/env/cas/casServerUrlPrefix">
            <jndi:value>https://casserver.nicolasgeraud.com:28443/cas</jndi:value>
        </jndi:binding>
            </jndi:bindings>
        </attribute>
    </mbean>



After starting my jboss i can see this in the JNDIView

java: Namespace


  +- comp (class: javax.naming.Context)
  |   +- env (class: org.jnp.interfaces.NamingContext)
  |   |   +- cas (class: org.jnp.interfaces.NamingContext)
  |   |   |   +- casServerUrlPrefix (class: java.lang.String)
  |   |   |   +- casServerLoginUrl (class: java.lang.String)
  |   |   |   +- serverName (class: java.lang.String)


It looks good ... but it fails :'(

java.lang.IllegalArgumentException: casServerUrlPrefix cannot be null.
at org.jasig.cas.client.util.CommonUtils.assertNotNull(CommonUtils.java:89)
at org.jasig.cas.client.validation.AbstractUrlBasedTicketValidator.<init>(AbstractUrlBasedTicketValidator.java:80)
at org.jasig.cas.client.validation.AbstractCasProtocolUrlBasedTicketValidator.<init>(AbstractCasProtocolUrlBasedTicketValidator.java:36)
at org.jasig.cas.client.validation.Cas10TicketValidator.<init>(Cas10TicketValidator.java:36)
at org.jasig.cas.client.validation.Cas10TicketValidationFilter.getTicketValidator(Cas10TicketValidationFilter.java:37)
at org.jasig.cas.client.validation.AbstractTicketValidationFilter.initInternal(AbstractTicketValidationFilter.java:106)
at org.jasig.cas.client.util.AbstractCasFilter.init(AbstractCasFilter.java:82)


Someone got an idea ?


-- 
You are currently subscribed to cas-...@lists.jasig.org as: jasig-cas-user...@googlegroups.com
To unsubscribe, change settings or access archives, see http://www.ja-sig.org/wiki/display/JSG/cas-user

Wendy

unread,
Jun 22, 2012, 11:45:03 AM6/22/12
to cas-...@lists.jasig.org
Hi!
You must config casServerUrlPrefix to your jboss web config xml file,this is cas url, i have not config it in jboss.

Nicolas Géraud

unread,
Jun 22, 2012, 4:17:18 PM6/22/12
to cas-...@lists.jasig.org
Hi Wendy,

i'm not not sure to understand your answer : what do you mean by "jboss web config" ?

I want to externalize all parameters from application web.xml file. Because this urls are "environement dependent".

Do you have a sample to show me ?

2012/6/22 Wendy <Wendy1...@gmail.com>
Hi!
  You must config casServerUrlPrefix to your jboss web config xml file,this is cas url, i have not config it in jboss.
--
You are currently subscribed to cas-...@lists.jasig.org as: nicolas...@gmail.com

To unsubscribe, change settings or access archives, see http://www.ja-sig.org/wiki/display/JSG/cas-user

张文杰

unread,
Jun 22, 2012, 4:22:09 PM6/22/12
to cas-...@lists.jasig.org
Hi!
    this is web.xml,its not relative Server context.

<filter>
<filter-name>CAS Authentication Filter</filter-name>
<filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>
<init-param>
<param-name>casServerLoginUrl</param-name>
<param-value>http://localhost:8080/cas/login</param-value>
</init-param>
<init-param>
<param-name>serverName</param-name>
<param-value>http://localhost:8080</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CAS Validation Filter</filter-name>
<url-pattern>/proxyCallback</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CAS Authentication Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<filter>
<filter-name>CAS Validation Filter</filter-name>
<filter-class>org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class>
<init-param>
<param-name>casServerUrlPrefix</param-name>
<param-value>http://localhost:8080/cas/</param-value>
</init-param>
<init-param>
<param-name>serverName</param-name>
<param-value>http://localhost:8080</param-value>
</init-param>
<init-param>
       <param-name>acceptAnyProxy</param-name>
       <param-value>true</param-value>
   </init-param>
<init-param>
       <param-name>redirectAfterValidation</param-name>
       <param-value>true</param-value>
    </init-param>
    <init-param>
       <param-name>exceptionOnValidationFailure</param-name>
       <param-value>false</param-value>
   </init-param>
    <init-param>
       <param-name>proxyCallbackUrl</param-name>
       <param-value>http://localhost:8080/MIS/proxyCallback</param-value>
   </init-param>
   <init-param>
       <param-name>proxyReceptorUrl</param-name>
       <param-value>/proxyCallback</param-value>
   </init-param>
</filter>
<filter-mapping>
<filter-name>CAS Validation Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
<filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>


<filter>
<filter-name>CAS Assertion Thread Local Filter</filter-name>
<filter-class>org.jasig.cas.client.util.AssertionThreadLocalFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CAS Assertion Thread Local Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

2012/6/23 Nicolas Géraud <nicolas...@gmail.com>
Hi Wendy,

i'm not not sure to understand your answer : what do you mean by "jboss web config" ?

I want to externalize all parameters from application web.xml file. Because this urls are "environement dependent".

Do you have a sample to show me ?

2012/6/22 Wendy <Wendy1...@gmail.com>
Hi!
  You must config casServerUrlPrefix to your jboss web config xml file,this is cas url, i have not config it in jboss.
--
You are currently subscribed to cas-...@lists.jasig.org as: nicolas...@gmail.com

To unsubscribe, change settings or access archives, see http://www.ja-sig.org/wiki/display/JSG/cas-user

-- 
You are currently subscribed to cas-...@lists.jasig.org as: Wendy1...@gmail.com

To unsubscribe, change settings or access archives, see http://www.ja-sig.org/wiki/display/JSG/cas-user



--
Best Wishes
Windy
Email: Wendy1...@gmail.com
Reply all
Reply to author
Forward
0 new messages