Remove the line. Thats just setting the Log4J NDC by an internal utility.

Am 16.04.2013 um 09:53 schrieb Carlos Lorenzo <[email protected]>:

> Thank's Rober for your detailed "how to".
> I have doubts with this line:
> 
> LogUtils.setNdcLogIdentifier(credentials); 
> 
> 
> Where you get this method??.
> 
> 
> Thank's for all.
> 
> 
> 
> 2013/4/11 Robert Oschwald <[email protected]>
> Here are the rough steps how I created a WsAuthenticationHandler for CAS 
> 3.4.xx using SpringWS 1.5.4 and JaxB marshalling.
> Use the recommended Maven Overlay project setup as stated in the CAS CASUM 
> Wiki manual.
> 
> 
> 1. Implement a WsAuthenticationHandler which extends 
> AbstractUsernamePasswordAuthenticationHandler and uses an injected 
> WebserviceClient for authentication:
> public class WebserviceAuthenticationHandler extends 
> AbstractWebserviceAuthenticationHandler implements InitializingBean {
>       protected final boolean authenticateUsernamePasswordInternal(
>                       UsernamePasswordCredentials credentials) throws 
> AuthenticationException {
>               return this._webserviceClient.doAuthentication(credentials);
>       }
>       public final void setWebserviceClient(final WebserviceClient 
> webserviceClient) { 
>                this._webserviceClient = webserviceClient; 
>        }
> }
> 
> 2. Create WebserviceClient interface:
> public interface WebserviceClient  {
>       public boolean doAuthentication(final UsernamePasswordCredentials 
> credentials) throws AuthenticationException;
> }
> 
> 3. Create a webserviceClient impl
> e.g.:
> public class YourWsClient  implements WebserviceClient {
>       public boolean doAuthentication(UsernamePasswordCredentials 
> credentials) throws AuthenticationException { 
>                LogUtils.setNdcLogIdentifier(credentials); 
>                MyRequest request = ObjectFactory.createMyRequest();
>               request.setUsername(credentials.getUsername);
>               request.setPassword(credentials.getPassword);
>               try {
>                       response = (AuthenticateUserResponse) 
> getWebServiceTemplate().marshalSendAndReceive(request);
>                       return (response.isLoggedIn()); // just an example.
>               } catch (Exception e){
>                       throw 
> AuthenticationException("error.authentication.credentials.bad");
>               }
>        }
> }
> 
> 4. Define the wsClient bean with its marshaller and unmarshaller (I use a 
> separate wsConfigContext.xml file for this)
> <?xml version="1.0" encoding="UTF-8"?>
> <beans xmlns="http://www.springframework.org/schema/beans";
>   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>   xsi:schemaLocation="http://www.springframework.org/schema/beans 
> http://www.springframework.org/schema/beans/spring-beans-2.0.xsd";>
>   <bean id="yourWsClient" class="xxx.cas.adaptors.ws.YourWsClient">
>     <property name="marshaller" ref="marshaller"/>
>     <property name="unmarshaller" ref="marshaller"/>
>     <property name="defaultUri" 
> value="https://<ws-server>/<ws-endpoint-address>"/>
>   </bean>
>   <!-- (Un-)Marshaller -->
>   <bean id="marshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
>     <property name="contextPath" 
> value="<your_package_name_of_xjc_generated_schema_classes>"/>
>   </bean>
> </beans>
> 
> 
> 5. Wire in the WebserviceAuthenticationHandler into deployerConfigContext.xml 
> authenticationManager:
> ...
> <bean id="authenticationManager"
>               class="org.jasig.cas.authentication.AuthenticationManagerImpl">
>       <property name="authenticationHandlers">
>                       <list>
>                               <!--
>                                       | This is the authentication handler 
> that authenticates services by means of callback via SSL, thereby validating
>                                       | a server side SSL certificate.
>                                       +-->
>                               <bean 
> class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler"
>                                       p:httpClient-ref="httpClient" />
> 
>                               <!-- Your Webservice Authentication Handler  -->
>                               <bean id="wsAuthHandler" 
> class="xxx.handler.WebserviceAuthenticationHandler">
>                                 <property name="webserviceClient" 
> ref="yourWsClient"/>
>                               </bean>
>                       </list>
>               </property>
> </bean>
> …
> 
> 6. add the wsConfigContext.xml to web.xml:
>       <context-param>
>               <param-name>contextConfigLocation</param-name>
>               <param-value>
>                       /WEB-INF/spring-configuration/*.xml
>                       /WEB-INF/deployerConfigContext.xml
>                       /WEB-INF/wsConfigContext.xml
>               </param-value>
>       </context-param>
> 
> 
> You can add the jaxb2 maven plugin to the pom.xml to generate the schema 
> classes automatically.
> See http://mojo.codehaus.org/jaxb2-maven-plugin/usage.html
> 
> 
> Robert
> 
> Am 11.04.2013 um 10:37 schrieb Carlos Lorenzo <[email protected]>:
> 
>> Thank you for your quick response, Robert.
>> Could you elaborate a little more your solution??.
>> As I said in the previous mail I am fairly new with JASIG Cas Server.
>> 
>> 
>> Thanks.
>> 
>> 
>> 
>> -- 
>> 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-user

Reply via email to