平台项目开发,与子独立系统登录时遇到的问题

半路凉亭 2016-01-08 11:45:25
最近在做个平台项目,遇到一个问题,请教下这里的高手,我尽量简单说下:
公司里在做一个平台项目,简单理解就是有一个统一的入口管理端,
底下有几个独立的子系统,这几个系统(平台和子系统)用的都是统一的框架,所以JAR包都是一样的。因为要求系统是从平台登录,然后直接免登录跳转到其他子系统,我用的是cookie+ehcache。现在就出现一个问题:
如果我把每个系统里相同的jar包放在各自的项目里的lib文件夹下,那么统一登录跳转子系统就没有问题,但是我把相同的jar包提取出来放在tomcat公用的文件夹下,就会报错

报的错误是我定义的在线用户对象不能转换
![图片说明](http://img.ask.csdn.net/upload/201512/29/1451358471_995318.jpg)


可能我描述的不太清楚,举个例子吧。
我们做的这个平台系统包含很多相对独立的子系统,例如邮件系统、车辆管理系统、绩效考核系统等,这些系统上线后可能发在不同的服务器上。
我们公司的所有人都能操作这些系统,以前的做法是登录3次,(或者将用户名密码加密后放在链接上,模拟登录)但是今年我把老系统重新架构了,在这些系统上套了一个平台,这个平台是一些基础公用的操作模块、例如信息修改、工作日志、子系统列表等。 这里的子系统列表就是上面3个系统的连接路径,点击后直接就进去了,不用重新登录,我这里用的是简单的cookie+ehcache,
逻辑简单讲下,登录时,产生一个随机的唯一码存入到cookie中,且将当前用户信息保存为OnlineUser,然后将此对象存到cache,
登录平台后,跳转到子系统时,先获取当前cookie,然后通过cookie去cache里找当前对象,然后转换成OnlineUser。就是这里会因为jar放置位置的方式不同而引起不同的效果。
例如,在编译这几个子系统时,所有的JAR包都被编译到相对应系统的\WEB-INF\lib下,这样3个子系统此目录下的jar其实都是一模一样的,由于目前公司只给了一台服务器,所以我就想把这3个项目下的JAR包提取到tomcat下一个公用的文件夹下,
例如tomcat\my-lib下,如果这样做就会出现上面所说的同个对象不能转换,但是如果不提取这些JAR包,还是放在各自系统的lib目录下,就没有对象转换问题,可以直接跳转到子系统去。
...全文
568 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
software_artisan 2018-04-08
  • 打赏
  • 举报
回复
最简单的做法是验证用户身份(登录)通过后服务端生成一个token发放给客户端,然后客户端访问任何服务都在请求头中携带这个token,服务端通过请求头的token来验证用户身份。
  • 打赏
  • 举报
回复
不用这么麻烦啊,开发一个简单的sso登陆系统就好了,其它系统来对接。
一茶Maue 2018-03-21
  • 打赏
  • 举报
回复
jacob-1.18-M2(含Jacob.jar包以及Jacob.dll文件 说明文档API等)集合 能把这个发给我么? 我的邮箱3383665991@qq.com 谢谢
一茶Maue 2018-03-21
  • 打赏
  • 举报
回复
jacob-1.18-M2(含Jacob.jar包以及Jacob.dll文件 说明文档API等)集合 能把这个发给我么?

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧