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

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.passwordapplication.namecrowd.server.url
```

6)\&nbsp;Restart tomcat.


Answers:
author: Tiago Comasseto
body: 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


author: Rodrigo Girardi Adami
body: 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