关于单点和第三方机构库表加密方式选择

3280
2

yangqh 数据老手Lv5

发表于2019-5-17 16:36

楼主
单点登陆是非常常用的系统集成方式,而单点配置过程中,有两个非常常见、重要的设置:一是将登陆账号信息放入session,二是配置第三方机构库表时选择加密方式。那么具体如何设置、需要注意一些什么呢?且看下文~

一、将登陆账号信息放入session的两种方式
我们的单点机制,利用了session,需要的登录账号信息(主要是登录ID和密码加密串)都需要从session中获取。
如果主系统在登录成功以后,没有把登录账号信息放入session中,就需要改造一下主系统,把登录账号信息放入session中。
放入session中有两种可以支持的方式(这两种方式对应ssoconfig.xml的配置会有些不同):

1.登录ID和密码加密串作为一个登录对象的属性,且登录对象提供相关的方法来获取登录ID和密码加密串的值,这是常用的一种方式;
Ssoconfig.xml配置如下:
  1. <master loginstatustype="session" enablefilter="true">

  2. <loginstatus-session entitytype="object">

  3. <!-- 以下设置为主系统的Login对象在服务器session中的名字-->

  4. <loginstatus-obj-name>login</loginstatus-obj-name>

  5. <!--以下设置为主系统的Login对象的完整Java class名(带包名) -->

  6. <loginstatus-obj-class>sso.MasterLogin</loginstatus-obj-class>

  7. <!--  以下设置为该Login对象提供的返回登入id的方法名 -->

  8. <loginstatus-obj-id>getId</loginstatus-obj-id>

  9. <!--  以下设置为该Login对象提供的返回登入密码的方法名 -->

  10. <loginstatus-obj-pw>getPassword</loginstatus-obj-pw>

  11. </loginstatus-session>
复制代码


2.没有登录对象,直接把登录ID和密码加密串作为两个字符串放入session中
Ssoconfig.xml配置如下:
  1. <master loginstatustype="session" enablefilter="true">

  2. <loginstatus-session entitytype="string">

  3. <!--  以下设置为登入id属性名 -->
  4. <loginstatus-str-id>userAccounts</loginstatus-str-id>

  5. <!--  以下设置为登入密码属性名 -->
  6. <loginstatus-str-pw>userpassword</loginstatus-str-pw>
  7. </loginstatus-session>
复制代码

注:
object表示session中账号信息以对象形式存储,string表示session中账号信息以字符串形式存储。
二、如何选择第三方机构库表加密方式

当第三方为主系统,BI为辅系统时,密码登陆校验的处理过程大概是这样的:
第三方登录页输入账号密码-》第三方登陆校验成功-》账号信息存入主系统session-》主系统把session中的账号信息传给BI-》BI做密码校验
不同的单点场景,第三方机构库表加密方式的选择也不一样,具体如下:
单点环境:
[size=10.5000pt]1、第三方主系统,用第三方登录页,密码存{md5}加密值:
选择{md5}
[size=10.5000pt]2、第三方主系统,用第三方登录页,密码存md5加密值:
“没有加密”
[size=10.5000pt]3、第三方主系统,用第三方登录页,密码存明文值,或者是其他加密方式(比如说des):
“没有加密”
注:
{md5}加密或者明文时,BI登录页可以正常登陆,其他加密方式情况,BI登录页不能登陆,因为BI登陆页是{md5}加密方式。
非单点情况:
密文存的什么加密方式的值,就选择什么加密方式,目前支持{md5}、md5、不加密。

最近看过此主题的会员

980

esen_4Y3L5ADO80

yulin.hsu

liguangliang

杨国签

esen_523R6HRZW8

chestnut

esen_50GYBQSQ0W

esen_51HDVW4J5Y

2个回答

只看楼主

辰哥 管理员

发表于2019-12-5 15:12

只看该作者

取消 关注该作者的回复

沙发

感谢分享,替薏米们先谢为敬!

yangqh 数据老手Lv5

发表于2020-12-11 17:21

只看该作者

取消 关注该作者的回复

板凳

需要注意:admin的密码是不走第三方机构库表密码校验的,所以即使自己的用户表中另外有一个admin,也是无法直接登陆生效的,除非吧系统自带的admin禁用

登录后可回答问题,请登录注册

快速回复 返回顶部 返回列表

小时

全天响应

分钟

快速处理问题

工程师强势助力

明星产品
解决方案
联系合作

400咨询:400-0011-866

技术支持QQ:400-0011-866(工作日9:00-18:00)

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

版权所有© 2006-2024 北京亿信华辰软件有限责任公司 京ICP备07017321号 京公网安备11010802016281号