如何做单点登录(SSO)的一些思考

IT知识
365
0
0
2022-07-30
标签   单点登录

如何做单点登录(SSO)的一些思考

网上对SSO的技术文章已经有不少了,这里我们想聊一聊应当如何设计单点登录才更加合理,更加完善,使大家不走弯路。

启动SSO项目时一般都会面临以下几个问题:

  1. 帐户信息不一致。
  2. 1) 不同系统,用户名不统一。
  3. 2) 有些系统即使用户名一致,密码不一致。
  4. 3) 多个用户同时使用一个帐户的情况。(这种在非软件性企业相对多些)
  5. 没有统一用户信息源头。
  6. 所有的用户信息分散在各个子系统中,没有统一,集中管理。
  7. 帐户管理成本高,帐号开通,员工离职帐户不能及时停用或删除,给管理带来风险。
  8. 帐号安全策略不一致。

以上情况存在各种系统之中,有BS,CS两种,大都BS系统,如果有源码,这些相对容易,可以修改源代码的方式做集成。有些BS系统没有源代码,则可能需要通过POST参数方式来实现登录。

基于以上的问题形成我们的项目需求,在系统设计时大概有以下功能点。

  1. 人员身份管理与验证
  2. 1) 建议统一用户身份库(可以理解成所有用户身份信息统一管理,所有员工的工号都在这里)
  3. 2) 用户帐户统一管理,包括帐户统一开通,离职关闭。
  4. 3) 如果公司有域,建议用域来验证帐户,密码信息。
  5. 4) 工号与其他非工号登录的子系统的对应关系。(无源码且非域帐户登录的系统需要保存各子系统的帐户和密码,需要通过POST FORM的方式来实现登录)
  6. 5) 密码安全策略
  7. 6) 有条件可以把新员工入职及审批做进来。
  8. SSO门户需求
  9. 各子系统集成
  10. 1)有源码的系统需要修改用户名,密码校验部分及如果登录失败后的消息返回;提供开通帐户,停用等接口服务供SSO平台统一调用。
  11. 2)无源码的需要研究子系统如何POST FORM表单验证。
  12. 报表及日志
  13. 睡眠帐户的统计;异常登录监控(连续多次输入错误密码);正常登录数据的统计分析
  14. 在线用户及并发量的监控
  15. 应急方案。
  16. SSO一旦实施,如果出现问题的话可能会导致所有用户无法使用任何系统,所以需要做好应急方案。

以上是一些关于SSO的一些思考,欢迎大家关注我,如果大家对SSO有兴趣可以持续发布一些实战案例及详细集成给大家分享。