cancel
Showing results for 
Search instead for 
Did you mean: 

Alfresco's WebDAV with CAS SSO

imdea
Champ in-the-making
Champ in-the-making
Hi guys,

I've configured alfresco + CAS already, so using only the "alfresco web interface" it's working fine. We use Alfresco's WebDAV a lot but after configuring CAS i can't use WebDAV anymore since in the apache2 configuration file i had to put these lines:

JkMount /alfresco ajp13
JkMount /alfresco/* ajp13

Therefore, when i try to access http://myserver/alfresco/webdav, it's doing match with the second line and then it redirects my request to CAS and then throw me a 302 error that the object has been moved temporarily. I don't know what to do so that when i try to access http://myserver/alfresco/webdav it doesn't redirect me to the initial CAS login page.

In fact, i wouldn't mind that users will have to login again to use WebDAV while it works.

Thanks in advance.
1 REPLY 1

iblanco
Confirmed Champ
Confirmed Champ
I'm new with mod_auth_cas and mod_jk but I'm doing this right now and that's what I think about the subject. If I'm wrong please correct me:

The problem is not related to the JkMount points, they are doing their job right. This mounts just "connect" your apache httpd server with tomcat, they are not responsible for CAS authentication.

In some other configuration file, the one related to mod_auth_cas you have "Location" entry protecting whole "/alfresco" path. I change it to this:


<Location /alfresco/faces>
AuthType CAS
AuthName "CAS"
require valid-user
CASScope /alfresco
</Location>

This makes only "/alfresco/faces" be protected. I don't think this is a security risk because when no CAS credentials are supplied but Alfresco Explorer authentication is required Alfresco will jump to "/alfresco/faces/jsp/login.jsp" and, of course, then CAS will fire.

That way /alfresco/webdav (which uses HTTP authentication) will just use "normal" authentication, and the same applies for /alfresco/service or whatever.

Of course you'll need to chain additional authentication subsystems in order for this other services to authenticate. Tipycally you will chain the same methods that your CAS uses, for example if your CAS uses LDAP authentication, then you'll chain in alfresco the external authentication method (for CAS), as well as the LDAP subsystem (for other authentications).

Hope it helps.