asp.net统一认证及单点登录平台解决方案系列<一>李蒙强

49%的人写下了其密码,而67%的人很少改变它们

l安全性好,可支持多种安全认证手段,提高了各个业务系统的账号安全控制,降低安全风险。

l为企业各业务系统的分布式部暑提供了统一身份认证服务支持。

l请看下面的统计数据:

l建立一套完整的身份认证体系;

l建立统一的身份认证中心;

l建立统一的认证开发接口;

令牌(Token)

由认证中心颁发可在各分站中流通的用户唯一鉴权标识;

凭证(Certificate)

认证中心(CertificationCenter)

应用软件系统Applicationsoftwaresystem

信息系统的重要组成部分,是指信息系统中对特定业务进行处理的软件系统;

统一身份认证平台存储了全部的身份信息和对应的凭证信息,并提供了不同编程语言(Java,.net,PHP)的认证接口。业务系统完成身份信息同步和认证接口的部署之后,可以使用统一身份认证平台完成身份的认证,不需要自己存储凭证信息和实现认证。图1标识了业务系统完成认证的相应过程。具体如下:

①用户请求访问业务系统。

②业务系统在系统中查看是否有对应请求的有效令牌,若有,则读取对应的身份信息,允许其访问;若没有或令牌无效,则把用户重定向到统一身份认证平台,并携带业务系统地址,进入第③步。

③在统一身份认证平台提供的页面中,用户输入身份凭证信息,平台验证此身份凭证信息,若有效,则生成一个有效的令牌给用户,进入第④步;若无效,则继续进行认证,直到认证成功或退出为止。

④用户携带第③步获取的令牌,再次访问业务系统。

⑤业务系统获取用户携带的令牌,提交到认证平台进行有效性检查和身份信息获取。

⑥若令牌通过有效性检查,则认证平台会把令牌对应的用户身份信息返回给业务系统,业务系统把身份信息和有效令牌写入会话状态中,允许用户以此身份信息进行业务系统的各种操作;若令牌未通过有效性检查,则会再次重定向到认证平台,返回第③步。

通过统一身份认证平台获取的有效令牌,可以在各个业务系统之间实现应用漫游。

通过此机制可以实现单点到多点的单向应用漫游,也可以扩展双方认定的协议内容并进行功能的扩展,比如指定业务系统应用模块参数(module)来实现到具体应用模块的跳转。

首先在入口系统中建立一个入口系统账号到各个业务系统账号的映射表,此表一般需要包含以下信息:

1.入口系统账号:存储入口系统自身的账号。

2.业务系统ID:标志不同的业务系统。

3.业务系统账号:存储业务系统与入口系统账号对应的账号。

4.业务系统基本角色:存储在业务系统中的角色信息。

5.业务系统密码:通过加密方式存储业务系统的密码信息。

每种机制都需要先进行一定的数据准备,再部署相应的程序,可以产生不同的应用漫游情况,所以它们适用不同系统的认证集成,具体分析如下表:

特征

说明

关键问题

独立用户

应用完全独立建设,各自聚合完整的身份账号模型及实现。

用户模型不对称及属性集差异化。

托管用户

用户及身份账号被第三方机构托管。

由于账号模型被第三方系统管理,其实质属于凝固的,从Server端解决并疏通账号关系存在不可操作性。

集成账号

使用AD、LDAPSERVER的标准化数据基础的用户模型。

如何建立集中认证和令牌颁布的接口平台。

认证中心是数据的总集成方,所有的用户和机构信息都是由统一认证中心托管,异构系统的用户和机构数据只需按照标准提供的接口来进行维护即可!

异构系统所使用的用户账号与认证中心的账号是一致的,所有系统的用户和机构数据都是在统一认证中心里进行维护的.

当该用户需要再次验证时将使用本地凭证,以减少网络交互。

一个完整的SSO代理需要完成以下职责:

【初次认证】

1、将认证指令桥接SSO以验证身份并获取令牌。

2、将令牌通过Session或者Cookies的模式进行缓存或持久化,备用于后期漫游。

3、通过令牌获取主站凭证;

4、初始化本地数据,产生本地凭证,进入系统视图的预处理工作。

5、打开并展现页面。

其时序图如下所示:

暂无(后续在源代码中加入)

【身份漫游】

1、应用A跳转到应用B时,根据令牌直接跳转;

2、通过令牌获取主站凭证;

3、初始化本地数据,产生应用B凭证,进入系统视图的预处理工作;

4、打开并展示页面;

暂无(后续在源代码中加入);

中文含义

字段名称

字段类型

长度

主键

备注

映射用户标示

M_LOGIN_ID

Varchar

100

映射用户所在域

M_DOMAINID

认证中心用户标示

C_IDENTITYID

认证中心用户名称

C_IDENTITYNAME

200

认证中心所在域

C_DOMAINID

排序号

M_ORDERNUMBER

Int

先写到这里了,后续推出系列二中将提供解决方案的Demo设计和源代码Demo,敬请期待!

THE END
1.统一身份认证平台统一身份认证系统全新改版!为你提供方便、快捷的统一身份认证使用体验。 用户使用自己的统一认证账户即可访问校内各级网站和系统、图书数据库资源,登录VPN访问校内资源。 初次登录请先激活账号。 用户可以在校园融合门户个人头像右上角点击控制面板进入个人设置,维护统一身份认证系统个人信息。 https://webs.nuist.edu.cn/
2.登录统一认证登录 口令短信 证书登录 未开通身份账号的用户,可联系本单位科信部门通过所建身份(子)系统或者部身份系统远程访问界面开通账号。公告: 按照国家网络安全有关规定,即日起,统一认证登录正式启用“手机号+密码+短信验证码”的方式登录系统。如密码遗失,请通过设置密码/忘记密码功能设置,望周知! https://isso.mem.gov.cn/login
3.省统一身份认证平台(广东省政务服务)登陆操作【ca助手】驱动下载网址(也是省统一身份认证平台登陆界面):https://tyrz.gd.gov.cn/pscp/sso/static/?redirect_uri=http%3A%2F%2Fwww.gdzwfw.gov.cn%2F_goin_%2F%3Fr%3D%252F_in_%252F%253Fp%253Dportal%2526r%253D%25252F&client_id=gdbsYSS http://www.cnca.net/knowledge/index.php?r=faq%2Fshow&id=194
4.统一认证登录平台的实现方案业务系统如何通过统一认证平台处理当前业务系统,如何跳转到认证平台?认证平台以url地址形式存在,后端可通过配置方式对该统一认证地址进行配置,同时以接口方式返回给前端,前端根据调用该地址接口,来获取地址,同时通过重定向方式,直接跳转到认证页面。 认证平台登陆之后,如何跳转到当前业务系统?认证平台完成认证逻辑后,会返回一个携带唯一身份码的code参数地址https://juejin.cn/post/7130179560741535774
5.统一身份认证平台记住密码 忘记登录密码 ? 登录https://vpn.xzcit.cn/
6.统一身份认证登录统一身份认证平台使用须知 统一身份认证系统是智慧校园的基础平台,为智慧校园门户内的各类应用提供统一的用户管理和身份认证。师生用户使用一个账号和密码即可一次登录多系统通行。注意事项 1. 忘记密码时,请点击“忘记密码”,可通过手机号、邮箱等找回密码(个别师生因手机号码变化无法找回,请联系信息技术中心核实身份后https://portal.zjbti.net.cn/
7.统一身份认证第三方集成单点登录注意:考虑到金蝶云平台网站或第三方应用会实现自动登录功能,或者用户在云平台中换了登录用户,因此第三方应用要注销的帐号可能不是先前授权登录的帐号。 如果退出调用有错误,直接会重定向到金蝶云平台首页 HTTP请求方式 · POST 返回格式 · JSON 认证方式 https://vip.kingdee.com/article/359709414254707456
8.开发者后台统一登录请用家长手机钉钉扫码 请使用家长钉钉账号的“扫一扫”功能 功能扫描下方二维码 用学生账号密码登录 取消 选择要登录的账号请输入企业登录名 下一步简体中文 因为组织安全策略要求,请在下方验证方式中任选两种方式验证你的身份 切换登录名 使用钉钉扫码使用企业账号登录 当前登录名: 忘记密码 登录https://open-dev.dingtalk.com/