1 Tomcat的SSL设置
将CAS Server运行环境上的证书放置在Alfresco服务器上,并配置Tomcat的SSL使用该证书。
关于该步骤的具体操作,请参考其它文档。
2 为JDK增加证书
运行Tomcat,通过8443端口访问应用,然后下载证书。再把该证书增加到JDK中。
在使用IE通过HTTPS访问应用,产生证书后。右键点击页面,选择“属性”“证书”“详细信息”“复制到文件”。然后安装提示导出证书。
然后,使用keytool工具导入证书。
在${JAVA_HOME}/jre/lib/security/目录下执行如下命令:
keytool -import -alias cacerts -keystore cacerts -file e:\1.cer -trustcacerts
其中e:\1.cer是证书的本地存放目录。
然后,键入密码:changeit既可。
3 修改Alfresco默认的认证
3.1 增加依赖的JAR文件
将本文附件中的alfresco-cas.jar、casclient-2.0.11.jar拷贝到Alfresco Web应用的lib包中。
3.2 修改web.xml文件
3.2.1 增加CAS Filter
内容如下:
<!----><!----> <!---->
<filter>
<filter-name>CAS Filter</filter-name>
<filter-class>edu.yale.its.tp.cas.client.filter.CASFilter</filter-class>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name>
<param-value>https://shangkaier:8443/cas/login</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
<param-value>https://shangkaier:8443/cas/serviceValidate</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
<param-value>192.168.0.114:8443</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CAS Filter</filter-name>
<url-pattern>/faces/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CAS Filter</filter-name>
<url-pattern>/template/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CAS Filter</filter-name>
<url-pattern>/download/*</url-pattern>
</filter-mapping>
3.2.2 修改Authentication Filter过滤器
在web.xml文件中查找“Authentication Filter”节点,将其中的filter-class改为“org.alfresco.web.app.servlet.CasAuthenticationFilter”,并设置初始参数如下:
<filter>
<filter-name>Authentication Filter</filter-name>
<filter-class>org.alfresco.web.app.servlet.CasAuthenticationFilter</filter-class>
<init-param>
<param-name>cas.user.label</param-name>
<param-value>edu.yale.its.tp.cas.client.filter.user</param-value>
</init-param>
</filter>
3.3 修改Alfresco的认证组件
修改${ALFRESCO_HOME}\tomcat\webapps\alfresco\WEB-INF\classes\alfresco\ authentication-services-context.xml文件。从中查找“authenticationComponent”的定义,将其改为如下:
<bean id="authenticationComponent" class="org.alfresco.repo.security.authentication.SimpleAcceptOrRejectAllAuthenticationComponentImpl">
<property name="accept">
<value>true</value>
</property>
</bean>
4 测试
用admin/admin登陆系统,进行验证。