(工作总结)公司项目是如何实现登录的

 

公司的项目 如何用实现登录的?CA登录 帐号密码登录 (非单点登录情况,自己实现的登录认证)

总体思路:

登录页面加载CA基本信息(帐号密码方式,输入帐号密码)---->根据登录信息,生成authentication请求token.------>根据基本信息,loaduserByname(),拿到数据库中的用户userdetails---->CA验签(或密码比对)。

 

1.点击登录时,通过ca 的 js,获取ca的一些基本信息。

 

 

 

2.我们的登录用的是spring-security。 上一步提交登录后,会被认证管理器AbstractAuthenticationProcessingFilter拦截。

 

 

封装参数,组成一个自定义的认证token(authentication),去认证。

 

公司的项目 如何用实现登录的?CA登录 帐号密码登录 (非单点登录情况,自己实现的登录认证)

总体思路:

登录页面加载CA基本信息(帐号密码方式,输入帐号密码)---->根据输入信息,生成authentication请求token.------>根据基本信息,loaduserByname(),拿到数据库中的用户userdetails---->CA验签(或密码比对)。

 

1.点击登录时,通过ca 的 js,获取ca的一些基本信息。

 

 

 

2.我们的登录用的是spring-security。 上一步提交登录后,会被认证管理器AbstractAuthenticationProcessingFilter拦截。

封装参数,组成一个自定义的认证token(authentication),去认证。

3.根据 携带的CA基本信息。找到数据源里面的用户。(userDetails userdatailservice loaduserByname() 等。)

4.验证CA签名。

 

 

 

 

 

注:如果为帐号和密码登录。 在上面第4步,不是ca验签,而是authentication里面的密码和从数据库中取出来的(userdetails)进行密码匹配。

 

 

 

--------------------------

注:整理这篇登录主要是因为上一篇看了CA的一些东西。但是想了半天,感觉上一篇中模拟的场景,更像是https的通信:

服务器端会有自己的ca证书(公钥,私钥),客户端来访问时给客户端出示证书;客户端拿到公钥,发送随机串(相当于对称加密的约定)给服务器;服务器私钥解密字符串,再根据字符串(对称加密)加密数据 给客户端;ssl建立。

而我们的U-KEY登录,大概是这样的。证书是每个用户申请的一个物理器件,里面有自己的密钥对(公钥,私钥)。登录的时候相当于用户用ca的私钥签名,我们服务端公钥验签(或者通过ca中心的接口验签??这块还是不很清楚)。

不过这种总的思路 公钥密码体系是一致的,都是公钥加密,私钥解密;私钥签名,公钥验签。 谁申请了CA证书,他就有了密钥对,特别要把自己的密钥保存好。

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章