博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JEECG配置Kisso单点登录
阅读量:4298 次
发布时间:2019-05-27

本文共 1753 字,大约阅读时间需要 5 分钟。

JEECG配置Kisso单点登录

软件版本

JEECG版本:3.8

1.验证系统表示:kisso服务端

2.业务系统表示:kisso客户端

1.配置服务端和客户端

  • 根据官方文档进行配置(

  • 特别注意,客户端的配置

#服务端登录地址sso.login.url=http://sso.test.com:8080/jeecg/toLogin.do

2.配置系统 host 文件

  • C:\Windows\System32\drivers\etc\hosts.ics
#选择一个添加,或全部也行,192.168.1.123=测试机器IP192.168.1.123 test.com192.168.1.123 www.test.com192.168.1.123 sso.test.com

3.系统登录配置

3.1验证系统

  • LoginController.java -> login 方法
  • 找到以下代码,在后面添加代码
SSOToken st = new SSOToken(request);st.setId(UUID.randomUUID().getMostSignificantBits());st.setUid(user.getUserName());st.setType(1);
  • 添加代码
JSONObject jsonObject = new JSONObject();//当前登录机构idjsonObject.put("orgId",clientManager.getClient().getUser().getCurrentDepart().getId());st.setData(jsonObject.toJSONString());

3.2 业务系统

  • LoginController.java -> login 方法
  • 注释
//TSUser user = ResourceUtil.getSessionUser();
  • 上面注释代码下一行,加入以下代码(orgId 可在验证系统的SSOToken中设置,然后,业务系统获取
//kisoo返回后,自动登录SSOToken token = SSOHelper.getToken(request);TSBaseUser baseUser = (TSBaseUser)systemService			.findByProperty(TSBaseUser.class,"userName",token.getUid()).get(0);TSUser user = (TSUser)systemService.get(TSUser.class, baseUser.getId());JSONObject jsonObject = JSON.parseObject(token.getData());userService.saveLoginUserInfo(request, user, jsonObject.getString("orgId"));//kisoo返回后,自动登录

4.备注

  1. 浏览器输入业务系统链接,业务系统的kisso拦截器(SSOSpringInterceptor)进行拦截,判断SSOToken是否为null,如果不是null,跳转到当前请求;如果是null,则根据配置文件(sso.properties)跳转到验证系统(SSOController.java -> toLogin方法)
  2. 验证系统跳转到登录页面(login.jsp),输入用户名和密码,跳转到验证系统登录逻辑(LoginController.java -> login方法)设置 SSOToken ,然后,根据 ReturnURL 重定向回 业务系统的登录逻辑(LoginController.java -> login方法)进行自动登录

5.BUG

  • 验证系统需要自行添加保存用户登录信息功能(SSOController.java -> toLogin方法),避免重复登录
  • 不能使用IP

经过配置测试,发现IP是可以使用的,但暂时不清楚官网为什么写不能使用IP

猜想:可能多个业务系统才会出现问题,本人目前是单业务系统测试

  • 如果菜单需要弹出浏览器tab方法,需要修改菜单生成代码

转载地址:http://kknws.baihongyu.com/

你可能感兴趣的文章
点击button实现Storyboard中TabBar Controller的tab切换
查看>>
Xcode 的正确打开方式——Debugging
查看>>
打包app出现的一个问题
查看>>
iOS在Xcode6中怎么创建OC category文件
查看>>
Expanding User-Defined Runtime Attributes in Xcode with Objective-C
查看>>
iOS7 UITabBar自定义选中图片显示为默认蓝色的Bug
查看>>
提升UITableView性能-复杂页面的优化
查看>>
25 iOS App Performance Tips & Tricks
查看>>
那些好用的iOS开发工具
查看>>
iOS最佳实践
查看>>
使用CFStringTransform将汉字转换为拼音
查看>>
更轻量的 View Controllers
查看>>
Chisel-LLDB命令插件,让调试更Easy
查看>>
时间格式化hh:mm:ss和HH:mm:ss区别
查看>>
When to use Delegation, Notification, or Observation in iOS
查看>>
Objective-C Autorelease Pool 的实现原理
查看>>
编程语言大牛王垠:编程的智慧,带你少走弯路
查看>>
ios指令集以及基于指令集的app包压缩策略
查看>>
iOS开发者的福利 — — iOS9+Xcode7免越狱免证书直接调试
查看>>
3、JavaWeb学习之基础篇—JSP
查看>>