JFinal整合CAS实现SSO单点登陆(客户端)

安装前需知:

客户端JDK版本必须与服务器JDK版本保持一致,否则会抛异常

 

  • 导入证书到证书信任库
keytool -importcert -trustcacerts -alias  tomcat_key -file mykey.cer -keystore “C:/Program Files/Java/jdk1.7.0_80/jre/lib/security/cacerts” -storepass changeit

1.keytool命令及参数-file mykey.cer

如果没有配置对应JDK的环境变量path,那么需要定位到JDK的bin目录下,并且将证书文件mykey.cer拷贝到bin目录下,否则这里需要指定mykey.cer的路径

2.cacerts的路径

上面的cacerts地址根据自己实际安装路径替换,路径中如果有空格的,需要用引号把路径括起来

如果发现以上错误,非法选项C:/Program 则表示路径识别不成功,可以使用相对路径避免输入Program Files的字符,例如

上图的执行路径位于bin目录下,使用了相对路径定位到cacerts,并且将证书文件mykey.cer拷贝到了bin目录下

3.第一次加载证书的时候,需要输入密钥库口令

保证两次的输入一致即可,但注意,此口令即为-storepass后面跟着的参数值

4.如果上述都没有问题,则会弹出

是否信任此证书,输入y回车即可

 

  • 配置Tomcat

修改配置文件

在客户端Tomcat的server.xml配置文件中加入:

<Connector protocol="org.apache.coyote.http11.Http11NioProtocol"

           port="8443" minSpareThreads="5" maxSpareThreads="75"

           enableLookups="true" disableUploadTimeout="true"  

           acceptCount="100"  maxThreads="200"

     
根据提供的引用内容,JFinal框架本身并不提供单点登录的功能,但可以通过整合第三方的单点登录组件来实现单点登录。下面是一个简单的实现步骤: 1. 集成Shiro组件,Shiro是一个强大且易用的Java安全框架,提供了认证、授权、加密和会话管理等功能,可以用来实现单点登录。 2. 在Shiro的配置文件中,配置Realm,Realm是Shiro的核心组件之一,用于认证和授权。在Realm中,可以通过调用第三方单点登录组件的API来实现单点登录。 3. 在JFinal的Controller中,通过调用Shiro的API来判断用户是否已经登录,如果没有登录,则跳转到第三方单点登录组件的登录页面进行登录。 4. 在第三方单点登录组件的登录成功后,将用户信息存储到Shiro的Session中,然后跳转回JFinal的Controller中,继续执行原来的业务逻辑。 下面是一个简单的代码示例: ```java // Shiro配置文件中的Realm配置 public class MyRealm extends AuthorizingRealm { @Override protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) { // 授权逻辑 } @Override protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException { // 认证逻辑 // 调用第三方单点登录组件的API进行认证 // 如果认证成功,则返回一个包含用户信息的AuthenticationInfo对象 // 如果认证失败,则抛出一个AuthenticationException异常 } } // JFinal的Controller中的登录逻辑 public class LoginController extends Controller { public void index() { // 判断用户是否已经登录 if (SecurityUtils.getSubject().isAuthenticated()) { // 如果已经登录,则跳转到首页 redirect("/"); } else { // 如果没有登录,则跳转到第三方单点登录组件的登录页面 redirect("http://sso.example.com/login?redirectUrl=" + getRequest().getRequestURL()); } } } ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值