Crowd SSO integration for some URLs and know we like to have basic Confluence authentication for some URLs.

Gangadhar September 20, 2011

Hi,

We integrated confluence with crowd sso for authentication (how we did changes for confluence can be find below).

Know we like to integrate some of the urls to go through normal confluence authentication (like /admin/appTrustCertificate ..).
Can you please suggest us how we can achieve this.

1) Open web.xml file located in \[CONFLUENCE_HOME_DIR\]/confluence/WEB-INF/web.xml

&nbsp;Add the following filter code in the <filter> section

&lt;filter&gt;

&lt;filter-name&gt;checkauthentication&lt;/filter-name&gt;

&lt;filter-class&gt;com.cordys.CheckAuthentication&lt;/filter-class&gt;

&lt;init-param&gt;

&lt;param-name&gt;loginurl&lt;/param-name&gt;

&lt;param-value&gt;https://ssoserver.com/sso/login&lt;/param-value&gt;

&lt;/init-param&gt;

&lt;init-param&gt;

&lt;param-name&gt;skip.authentication.urls&lt;/param-name&gt;

&lt;param-value&gt;

loginform.jsp,login.action,createrssfeed.action,

images,/s/,styles/,download/,rpc/

&lt;/param-value&gt;

&lt;/init-param&gt;

&lt;/filter&gt;

&nbsp;&nbsp; In the <filter-mapping> section add the below mapping code. Add it as the first filter mapping element.

&lt;filter-mapping&gt;

&lt;filter-name&gt;checkauthentication&lt;/filter-name&gt;

&lt;url-pattern&gt;/*&lt;/url-pattern&gt;

&lt;/filter-mapping&gt;

2) Copy the file [^CheckAuthentication.class] to \[CONFLUENCE_HOME_DIR\]/confluence/WEB-INF/classes/com/cordys/ folder and copy [^crowd-integration-client-1.6.jar] to

&nbsp;&nbsp; \[CONFLUENCE_HOME_DIR\]/confluence/WEB-INF/lib folder.

3) Open atlassian-user.xml file located in \[CONFLUENCE_HOME_DIR\]/confluence/WEB-INF/classes/atlassian-user.xml

&nbsp;&nbsp;&nbsp; Comment out all other repositories and use the default confluence user repository

&lt;hibernate name="Hibernate Repository" key="hibernateRepository"&amp;nbsp; description="Hibernate Repository" cache="true"/&gt;

4) Open seraph-config.xml file located in \[CONFLUENCE_HOME_DIR\]/confluence/WEB-INF/classes/seraph-config.xml. Add the following line after commenting the default authenticator tag.

&lt;\!-\- &lt;authenticator class="com.atlassian.confluence.user.ConfluenceAuthenticator"/&gt; \--&gt;

&lt;authenticator class="com.atlassian.crowd.integration.seraph.ConfluenceAuthenticator"/&gt;

5) Open crowd.properties file located at \[CONFLUENCE_HOME\]/confluence/WEB-INF/classes/crowd.properties. Set appropriate values for the following attributes

application.password

application.name

crowd.server.url

6)&nbsp;Restart tomcat.

2 answers

0 votes
Tiago Comasseto
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
April 29, 2013

Hi Gangadhar,

Rodrigo is right about the two authenticators. It's not possible to set two authenticators at the same time. However, could you share with us the reason you want to set non-SSO authentication to only some URLs? We may find some alternative to reach your goal.

Cheers

0 votes
Rodrigo Girardi Adami
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
April 29, 2013

Hi there,

Honestly talking, I believe you can't leave 2 authenticators in the seraph-config.xml working at the same time. This won't work and I think the application won't come up with this setting.

Anyway, I'll leave the question open so another person might know how to implement this.

Regards,

Rodrigo

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events