好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

单点登录步骤参考.doc

13页
  • 卖家[上传人]:鲁**
  • 文档编号:455026439
  • 上传时间:2022-08-29
  • 文档格式:DOC
  • 文档大小:1.72MB
  • / 13 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • Liferay版本:   SDK:liferay-plugins-sdk-6.1.1-ce-ga2-20120731132656558   绑定tomcat版本:liferay-portal-tomcat-6.1.1-ce-ga2-20120731132656558CAS版本:   cas-server-3.5.0-release数据库:   MySql 5.1   实现步骤:1.部署cas服务器   将cas-server解压,将modules目录下的cas-server-webapp-3.5.0.war拷贝到liferay绑定的tomcat的webapps目录下,并改名为cas.war此时在地址栏输入http://localhost:8080/cas/login,就进入到CAS的登录界面,只要用户名和密码相同就进入验证通过界面如下图:此时,CAS 还不能作为有效的单点登录服务器红色部分的提示当前登录的 CAS 链接是不安全的,建议使用 https 协议,这里将使用 http 协议对 CAS server 进行配置2.取消 CAS 服务器 HTTPS 认证方式 2.1 在liferay绑定的tomcat\webapps目录下直接用压缩软件打开cas.war,修改cas\WEB-INF\spring-configuration \ticketGrantingTicketCookieGenerator.xml 配置文件,将 p:cookieSecure="true” 改为 p:cookieSecure="false" ,改完后如下:   2.2 修改 cas\WEB-INF\spring-configuration\warnCookieGenerator.xml 配置文件,将 p:cookieSecure="true” 改为 p:cookieSecure="false" ,改完后如下:   2.3 修改 cas\WEB-INF\deployerConfigContext.xml: 找到"HttpBasedServiceCrede ntialsAuthenticationHandler" bean (117行左右)添加:p:requireSecure="false", 改完后如下:         这样,在 cas 服务器运行的时候,就可以只使用 http 请求了。

         3.集成方式说明   CAS 作为单点登录的认证服务器,在收到页面传递的登录请求以后,将请求转发到 CAS 服务器后端进行验证,在未经配置的时候, 只要输入的密码和用户名称一致,则验证通过在实际的使用中当然这样是不可行的在此我们要对用户输入的用户名称和密码做校验 如果存在该用户,并且密码正确则说明验证通过   这里就有了两个问题:第一,CAS 需要连接到存储用户信息的数据库才能读取到用户信息 第二,验证密码的加密算法必须和数据库存储密码的加密方式一致基于此文采用的方式,对于第一个问题, 我们将直接使用 CAS 服务器连接到 Liferay 安装的数据库,直接读取 Liferay 门户的用户信息 对于第二个问题,我们将直接调用 Liferay 中的加密算法对用户输入的密码进行加密,然后与数据库中的加密密码进行比对 这样就可以保证 CAS 服务器在进行用户认证时,可以和 Liferay 服务器使用的用户保持一致4. CAS 配置4.1 配置 dataSource   在cas\WEB-INF\deployerConfigContext.xml中添加dataSource bean: 如下图:修改时注意:数据库选liferay的数据库,dataSource bean要在标签中间4.2 配置cas.properties host.name=cas server.prefix=http://localhost:8080/cas database.hibernate.dialect=org.hibernate.dialect.MySQLDialect 5. 加密方式修改5.1说明CAS 默认使用了一套简单的密码验证,在 deployerConfigContext.xml 配置文件中,为认证管理接口 authenticationManager 配置了属性 authenticationHandlers 处理器, 其中: 就是默认的认证处理逻辑,我们可以在下载到的压缩包找到他的源代码:cas-server-core\src\main\java\org\jasig\cas\authentication\handler\support\SimpleTestUsernamePasswordAuthenticationHandler.java, public boolean authenticateUsernamePasswordInternal (final UsernamePasswordCredentials credentials) { final String username = credentials.getUsername(); final String password = credentials.getPassword(); if (StringUtils.hasText(username) && StringUtils.hasText(password) && username.equals(getPasswordEncoder().encode(password))) { log.debug("User [" + username + "] was successfully authenticated."); return true; } log.debug("User [" + username + "] failed authentication"); return false; }默认的用户名和密码认证方式是只要校验用户名和密码相同,则认证通过。

      因此我们要对这种认证方式进行修改, 改为用户名和密码都采用 Liferay 中用户的校验方式将默认的认证类注释掉,配置提供的 jdbc 认证5.2 配置自定义 JDBC 认证方式 属性 sql 配置为查询 Liferay 数据库表 user_,字段 password_ 和 screenName 其中 passwordEncoder 是对清单 7 中设置的实际加密器类的引用。

      为了使用 Liferay 的密码加密方式,我们需要配置一个我们自己开发的密码加密类5.3 指定具体加密类和加密算法 在此我们采用和 Liferay 一致的默认加密算法“SHA”,在调用 Liferay 提供的加密算法时, 我们需要将 Liferay 的几个 jar 包引入到我们的 cas 工程中,自定义的加密算法也很简单, 只需要调用 jar 包中的加密工具类提供的加密算法即可,同时自定义的类需要继承 PasswordEncoder 接口5.4 自定义加密算法类package com.test.portal.cas;import java.io.UnsupportedEncodingException;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import javax.validation.constraints.NotNull; import org.jasig.cas.authentication.handler.PasswordEncoder; import org.springframework.util.StringUtils;import sun.misc.BASE64Encoder;public final class MyPasswordEncoder implements PasswordEncoder { private static final char[] HEX_DIGITS = {'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'}; @NotNull private final String encodingAlgorithm; private String characterEncoding; Public MyPasswordEncoder(final String encodingAlgorithm) { this.encodingAlgorithm = encodingAlg。

      点击阅读更多内容
      相关文档
      安徽省安全员《A证(企业负责人)》冲刺试卷三.docx 2026年房地产经纪人《房地产经纪业务操作》预测试卷三.docx 安徽省安全员《A证(企业负责人)》模拟试卷一.docx 2026年房地产经纪人《房地产交易制度政策》模拟试卷四.docx 安徽省安全员《B证(项目负责人)》冲刺试卷二.docx 2026年房地产经纪人《房地产经纪专业基础》预测试卷四.docx 2026年房地产经纪人《房地产经纪业务操作》考前点题卷一.docx 2023年通信工程师《通信专业实务(传输与接入-无线)》试题真题及答案.docx 安徽省安全员《A证(企业负责人)》试题精选.docx 2026年房地产经纪人《房地产经纪专业基础》预测试卷二.docx 2026年房地产经纪人《房地产经纪业务操作》考前点题卷二.docx 2026年房地产经纪人《房地产经纪职业导论》冲刺试卷三.docx 2026年房地产经纪人《房地产交易制度政策》冲刺试卷三.docx 2026年房地产经纪人《房地产经纪专业基础》考前点题卷二.docx 2026年房地产经纪人《房地产经纪职业导论》冲刺试卷五.docx 2026年房地产经纪人《房地产经纪职业导论》冲刺试卷四.docx 2026年房地产经纪人《房地产交易制度政策》冲刺试卷一.docx 2026年房地产经纪人《房地产交易制度政策》冲刺试卷四.docx 安徽省安全员《B证(项目负责人)》冲刺试卷三.docx 2026年房地产经纪人《房地产经纪业务操作》模拟试卷二.docx
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.