Junky's IT Notebook

统计

留言簿(8)

积分与排名

WebSphere Studio

阅读排行榜

评论排行榜

Liferay SSO 集成两说

在liferay portal中集成CAS非常容易
1拷贝cas java client 的jar包到liferay\WEB-INF\lib下
2修改common\lib\ext\portal-ejb.jar\里的文件system.properties
     将poratl.properties里
auto.login.hooks=com.liferay.portal.auth.BasicAutoLogin,com.liferay.portal.auth.CASAutoLogin
3 修改liferay\WEB-INF里的web.xml文件增加
参数要根据实际情况修改
<filter>
     <filter-name>CASFilter</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://192.168.210.79:7443/CASServer/login</param-value>
     </init-param>
     <init-param>
   <param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
<param-value>https://192.168.210.79:7443/CASServer/serviceValidate</param-value>
     </init-param>
    <init-param>
  <param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
    <param-value>localhost</param-value>
    </init-param>
   </filter>
    <filter-mapping>
    <filter-name>CASFilter</filter-name>
      <url-pattern>/*</url-pattern>
   </filter-mapping>


   CAS安装- -
                                      

看了网上很多CAS安装的步骤,结合自己的经验总结如下:


一、配置Tomcat,启用SSL协议。


1.在CAS要安装的机器上(也就是服务端)为Tomcat生成用于SSL通讯的密钥:keytool -genkey -alias tomcat -keyalg RSA,输入密钥密码和相应参数,(注意:第一个参数CN一定要输入CAS安装机器名,其他参数就随便了),结果是在用户目录中创建了名为.keystore的密钥文件。


2.从服务端导出密钥文件:keytool -export -file server.crt -alias tomcat,输入上一步中的密码,结果在当前目录生成server.crt密钥文件。(注意:这个文件是要导入客户端的JVM上的)


3.为客户端的JVM导入密钥:keytool -import -keystore $JAVA_HOME/jre/lib/security/cacerts -file server.crt -alias tomcat,输入密码(注意:这里的密码不是上面设定的密码,而是changeit),将创建cacerts文件。


4.修改服务端的Tomcat配置文件server.xml,去掉对于SSL的注释,即开放8443端口,注意这里需要在connector字段中加入keystorePass="password"参数,password即为上面几步中涉及到的密码,keystoreFile=".keystorePath",.keystorePath即为在第一步中生成的文件.keystore的全路径,如/usr/java/bin/.keystore。


5.启动Tomcat,测试https://server:8443/是否是需经过验证方可访问(注意:server为服务端的IP地址或机器名)。

二、部署CAS Server 2.0.12到Tomcat


1.一种简单的方法是将下载包中的cas.war文件直接复制到Tomcat的webapps目录下。


2.另外一种方法,从sourceforge上找到ESUP-Portail CAS Generic Handler项目,利用esup-cas-quick-start生成一个最简的TOMCAT,详见我的下一篇文章。


3.启动Tomcat,测试https://server:8443/cas,是否可访问CAS主页面(注意:server为服务端的IP地址或机器名)。

三、部署CAS Client 2.0.11到Servlet-Examples


1.利用Servlet-Examples实例进行测试,将下载包中的casclient.jar文件复制到Servlet-Examples中WEB-INF目录的lib下,这里需要手工建立lib目录。


2.修改Servlet-Examples的配置文件web.xml,加入以下的过滤器:

<!-- CAS Filters -->
    <filter>
        <filter-name>CASFilter</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://server:8443/cas/login</param-value>
        </init-param><!--这里的server是服务端的IP-->
        <init-param>
            <param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
            <param-value>https://serName:8443/cas/proxyValidate</param-value>
        </init-param><!--这里的serName是服务端的主机名,而且必须是-->
        <init-param>
          <param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
          <param-value>client:port</param-value><!--client:port就是需要CAS需要拦截的地址和端口,一般就是这个TOMCAT所启动的IP和port-->
        </init-param>
    </filter>
   
    <filter-mapping>
        <filter-name>CASFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

四、测试


1.启动Tomcat,定位到Servlet-Examples应用,点击Execute;


2.浏览器跳转至CAS登录首页,注意在URL中已经附上了Servlet-Examples的Service名

3.输入用户名和密码,这里没有对其验证条件做修改,因此只要用户名和密码相同即可通过验证。


4.验证通过后浏览器又重新定位至Servlet-Examples并显示该Servlet的内容。


5.点击Http Header的Servlet应用,可以看到里面对当前用户的用户名信息做了记录。

6.以后访问Servlet-Examples应用都无需再次输入用户名和密码了。

至此,CAS Server和Client已经在Tomcat上成功部署与配置,并达到了预期的SSO效果。

posted on 2007-05-28 09:55 junky 阅读(1122) 评论(0)  编辑  收藏 所属分类: security


只有注册用户登录后才能发表评论。


网站导航: