JFinal整合CAS实现SSO单点登陆(服务端)

  • 生成server key及证书

生成server key

命令行运行如下命令

keytool -genkey -alias key_name -keyalg RSA -keypass 123456 -storepass 123456  -dname "CN=www.mycas.com,OU=csoa,O=csoa,L=FZ,ST=FZ,C=CN" -ext san=ip:192.168.2.121   -validity 3600  -keystore changename.keystore

命令解释:(以上所有命令和参数之间都有空格,每个命令之间也有空格)

-genkey 为生成key的指令

-alias key_name 为指定key的别名,在导入导出证书时会用到

-keyalg RSA 为指定key的加密算法,为默认算法

-keypass 123456 为指定证书密码,即后续在tomcat中配置的密码

-storepass 123456 为指定密钥库的密码,即jre/lib/security/cacerts密钥库的密码,在导入导出证书时需要用到

密钥库和证书的区别就像是tomcat容器和里面装载的application的区别,也就是你登陆了tomcat你就可以对所有的application进行管理(例如deploy,delete),但是你要使用application就必须有application本身对应的密码

-dname "CN=www.mycas.com,OU=csoa,O=csoa,L=FZ,ST=FZ,C=CN" 为指定下面截图内容

其中最重要的是“名字与姓氏”,只能使用域名(未测试使用IP时的所有情况,但大部分情况都无法成功),其它的随便填即可

-ext san=ip:192.168

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
根据提供的引用内容,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、付费专栏及课程。

余额充值