Nevermind... I'm STILL having a problem with getting the clearPass intergrated with uPortal 3.2.2. The specs are listed in my original email. NO accounts can get past the guest layout of my uportal instance. The problem seems to be stemming from the PasswordCachingCasAssertionSecurityContext because if I replace it back with the original cas context in my security.properties file it works fine.

 I'm receiving the following errors:

ERROR [TP-Processor13] Nov/18 10:23:58,641 provider.UnionSecurityContext.[] - Exception authenticating subcontext org.jasig.cas3.extensions.clearpass.integration.uportal.PasswordCachingCasAssertionSecurityContext assertion:org.jasig.cas.client.validation.assertioni...@427a9f36 java.lang.RuntimeException: java.io.IOException: Server returned HTTP response code: 500 for URL: https://my-server/cas/proxy?pgt=TGT-2-gdHkBVgLhvri9QTzucfTAfKURJtcp3HK5geQE31TwizFqcGkOt-my-server&targetService=https%3A%2F%2Fmy-server%2Fcas%2FclearPass at org.jasig.cas.client.util.CommonUtils.getResponseFromServer(CommonUtils.java:322) at org.jasig.cas.client.util.CommonUtils.getResponseFromServer(CommonUtils.java:285) at org.jasig.cas.client.util.CommonUtils.getResponseFromServer(CommonUtils.java:338) at org.jasig.cas.client.proxy.Cas20ProxyRetriever.getProxyTicketIdFor(Cas20ProxyRetriever.java:65) at org.jasig.cas.client.authentication.AttributePrincipalImpl.getProxyTicketFor(AttributePrincipalImpl.java:87) at org.jasig.cas3.extensions.clearpass.integration.uportal.PasswordCachingCasAssertionSecurityContext.postAuthenticate(PasswordCachingCasAssertionSecurityContext.java:49) at org.jasig.portal.security.provider.cas.CasAssertionSecurityContext.authenticate(CasAssertionSecurityContext.java:68) at org.jasig.portal.security.provider.ChainingSecurityContext.authenticate(ChainingSecurityContext.java:105) at org.jasig.portal.security.provider.UnionSecurityContext.authenticate(UnionSecurityContext.java:47) at org.jasig.portal.services.Authentication.authenticate(Authentication.java:98)
    at org.jasig.portal.LoginServlet.service(LoginServlet.java:210)
....
Caused by: java.io.IOException: Server returned HTTP response code: 500 for URL: https://my-server/cas/proxy?pgt=TGT-4-KsBFUIPXEfcktwcZbyr6JNQljfRIXyYqyVUkcrsb3itrIUuPGn-my-server&targetService=https%3A%2F%2Fmy-server%2Fcas%2FclearPass at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1313) at com.sun.net.ssl.internal.www.protocol.https.HttpsURLConnectionOldImpl.getInputStream(HttpsURLConnectionOldImpl.java:204) at org.jasig.cas.client.util.CommonUtils.getResponseFromServer(CommonUtils.java:305)
    ... 46 more
ERROR [TP-Processor18] Nov/18 10:33:57,641 portal.LoginServlet.[] - Exception authenticating the request org.jasig.portal.security.PortalSecurityException: One of the security subcontexts threw an exception at org.jasig.portal.security.provider.ChainingSecurityContext.authenticate(ChainingSecurityContext.java:123) at org.jasig.portal.security.provider.UnionSecurityContext.authenticate(UnionSecurityContext.java:47) at org.jasig.portal.services.Authentication.authenticate(Authentication.java:98)
    at org.jasig.portal.LoginServlet.service(LoginServlet.java:210)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.jasig.services.persondir.support.web.RequestAttributeSourceFilter.doFilter(RequestAttributeSourceFilter.java:316) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:112) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.jasig.portal.security.MaxInactiveFilter.doFilter(MaxInactiveFilter.java:77) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.jasig.cas.client.util.AssertionThreadLocalFilter.doFilter(AssertionThreadLocalFilter.java:40) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.jasig.cas.client.validation.AbstractTicketValidationFilter.doFilter(AbstractTicketValidationFilter.java:196) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
    at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
    at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:774)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703) at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:896) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
    at java.lang.Thread.run(Thread.java:619)
WARN [TP-Processor18] Nov/18 10:33:57,642 web.RequestAttributeSourceFilter.[] - No username found for attribute 'null' among {serverName=[my-server]}

Please help.

Thanks,
 Laura



On 11/12/10 4:00 PM, Laura McCord wrote:
Okay I think I solved my problem. I discovered that there was more than one cas-client-core jar file in my cas lib directory. Once I removed it I was able to authenticate successfully.

Now, I have one more question. How to test for clearPass correctly. After I authenticate through cas I go to this url : http://mycasserver/cas/clearPass but I get an error "No authentication information provided". Am I testing this incorrectly? I think it's working because the portlets that need the clearPass are working now but just for peace of mind I wanted to test it through the clearPass url.

Thanks,
 Laura


On 11/12/10 1:42 PM, Laura McCord wrote:
I have a uPortal 3.2.2 install and I removed the bundled cas server and I am using an external 3.4.2 cas server now.

The problem that I am seeing is that when I click on the "Sign In with CAS" button from uPortal I enter my username/password in cas and then I'm redirected to uPortal's GUEST unauthenticated layout. I was able to authenticate through cas before I made any changes so I can confirm that it did work prior to any clearPass adjustments.

I can tell that when I change the root.cas=org.jasig.cas3.extensions.clearpass.integration.uportal.PasswordCachingCasAssertionSecurityContextFactory back to the original state I'm at least able to authenticate and I'm given my authenticated uPortal layout, if that helps.

I'm not sure if I'm having a versioning issue. The modifications that I have made are below.

Thank You,
 Laura McCord


- In the uportal-source-directory/pom.xml I added the following dependencies:
<casclient.version>3.1.11</casclient.version>
<cas-clearpass.version>1.0.5.GA</cas-clearpass.version>
<dependency>
<groupId>org.jasig.cas.client</groupId>
<artifactId>cas-client-core</artifactId>
<version>${casclient.version}</version>
</dependency>
<dependency>
<groupId>org.jasig.cas3.extensions</groupId>
<artifactId>clearpass-integration-uportal</artifactId>
<version>${cas-clearpass.version}</version>
</dependency>

-In uportal-impl/pom.xml
<!-- ===== Runtime Dependencies ======================================= -->
<dependency>
<groupId>org.jasig.cas3.extensions</groupId>
<artifactId>clearpass-integration-uportal</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.jasig.cas.client</groupId>
<artifactId>cas-client-core</artifactId>
</dependency>

-In uportal-impl/src/main/resources/properties/security.properties
## This is the factory that supplies the concrete authentication class
    root=org.jasig.portal.security.provider.UnionSecurityContextFactory
root.cas=org.jasig.cas3.extensions.clearpass.integration.uportal.PasswordCachingCasAssertionSecurityContextFactory #root.cas=org.jasig.portal.security.provider.cas.CasAssertionSecurityContextFactory root.simple=org.jasig.portal.security.provider.SimpleSecurityContextFactory

    ## URL of the CAS cleartext password service
org.jasig.cas3.extensions.clearpass.integration.uportal.PasswordCachingCasAssertionSecurityContextFactory.clearPassCasUrl=https://myServer/cas/clearPass

-In uportal-impl/src/main/resources/properties/context/portletContainerContext.xml <bean id="cachedPasswordUserInfoService" class="org.jasig.portal.portlet.container.services.CachedPasswordUserInfoService">
<property name="userInstanceManager" ref="userInstanceManager" />
<property name="portletWindowRegistry" ref="portletWindowRegistry" />
<property name="portletEntityRegistry" ref="portletEntityRegistry" />
<property name="portletDefinitionRegistry" ref="portletDefinitionRegistry" />
<property name="portalRequestUtils" ref="portalRequestUtils" />
<property name="decryptPassword" value="false" />
</bean>

- In cas/pom.xml
<dependency>
<groupId>org.jasig.cas3.extensions</groupId>
<artifactId>clearpass-webapp</artifactId>
<version>1.0.5.GA</version>
<scope>runtime</scope>
<type>war</type>
</dependency>

-In cas/src/main/webapp/WEB-INF/deployerConfigContext.xml
<property name="authenticationMetaDataPopulators">
<list>
<bean class="org.jasig.cas3.extensions.clearpass.CacheCredentialsMetaDataPopulator">
<constructor-arg index="0" ref="credentialsCache" />
</bean>
</list>
</property>

-In cas/src/main/webapp/WEB-INF/web.xml
<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>https:/mycas-server/cas</param-value>
</init-param>
<init-param>
<param-name>serverName</param-name>
<param-value>https://mycas-server</param-value>
</init-param>
<init-param>
<param-name>exceptionOnValidationFailure</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>allowedProxyChains</param-name>
<param-value>
https://my-portal-server/uPortal/CasProxyServlet
</param-value>
</init-param>
<init-param>
<param-name>useSession</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>redirectAfterValidation</param-name>
<param-value>false</param-value>
</init-param>
</filter>

<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 Validation Filter</filter-name>
<url-pattern>/clearPass</url-pattern>
</filter-mapping>

<filter-mapping>
<filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
<url-pattern>/clearPass</url-pattern>
</filter-mapping>

<servlet-mapping>
<servlet-name>cas</servlet-name>
<url-pattern>/clearPass</url-pattern>
</servlet-mapping>






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