<< 新闻中心

国产化SKYCTO@SSO单点登录集成


————USBKey盾SSO单点集成

2021-04-19 12:17:34 作者 书写人生

 准备sso-skycto-client.jar文件

服务名称

SSOClient自动编译jar包地址

服务地址

ftp://skycto.tpddns.cn:2121/jar/sso-skycto-client/

账号

***

密码

***

备注

ftp登录之后获取最新版本的jar

WebApp项目工程引入sso-skycto-client.jar

web.xml中增加TicketFilter过滤器

   <!—spring session 集群 filter-->

   <!—cross domain 跨域filter-->

   <!—gzip压缩等其他filter-->

   <!-- 单点登陆-->

   <filter>

      <filter-name>TicketFilter</filter-name>

   <filter-class>com.web.framework.core.portal.auth.filter.TicketFilter</filter-class>

      <init-param>

         <description>配置单点登陆的服务器地址</description>

         <param-name>SSOServerURL</param-name>

         <param-value>http://sso.skycto.com</param-value>

      </init-param>

      <init-param>

      <description>WebApp子系统识别码,协商分配</description>

         <param-name>appCode</param-name>

         <param-value>www</param-value>

      </init-param>

<init-param>

        <description>应用服务器登录的action</description>

        <param-name>loginAction</param-name>

        <param-value>/ssoIndex.action</param-value>

      </init-param>

   </filter>

   <filter-mapping>

      <description>暂时不过滤jsp文件</description>

      <filter-name>TicketFilter</filter-name>

      <url-pattern>*.action</url-pattern>

      <!-- 默认只处理客户端请求 -->

      <dispatcher>REQUEST</dispatcher>

      <!-- 增加对服务器内部转发的过滤 -->

      <dispatcher>FORWARD</dispatcher>

   </filter-mapping>

   <!—struts/springMVC filter-->

web.xml中欢迎页面指向WebApp主界面

本来主界面为index.jsp登录界面,替换为WebApp登录之后的主界面。用例如下所示:

   <welcome-file-list>

      <!--

      <welcome-file>index.jsp</welcome-file>

      -->

      <welcome-file>web.jsp</welcome-file>

   </welcome-file-list>

———四步到此,完成SSO集成(简要版)——

 Spring Boot/Spring Cloud集成问题

 FAQSpring Boot Spring Cloud WebApp没有web.xml文件时,如何增加TicketFilter过滤器?

       答:使用HandlerInterceptorAdapter类来实现TicketFilter过滤器,配置相关初始化参数。

 FAQWebApp后台请求没有.action.do后缀,TicketFilter过滤器无法过滤?

       答:TicketFilter过滤器的URL改成“/*“,过滤所有请求。

Vue/UniApp前后端分离框架集成问题

 FAQ WebApp后端分离,访问前端首页时,没有向后台发送请求,也就不会被TicketFilter过滤器过滤到,从而无法跳转到单点登录认证页面?

       答:访问前端首页时,使用window.local.href向后台发送请求,被TicketFilter过滤器过滤到,就可以正常跳转单点登录认证页面。

 FAQVue、微信小程序、移动AppUniAppWebApp前后端分离,无法使用session传递数据,在后台也就无法获取session中的frameUser,从而导致接口调用失败?

答:前端在单点登录认证成功后,将前台URL中带有的tk值,保存在header的“x-auth-token”参数里面,每次往后台发送请求时都携带tk值,也就能通过TicketFilter过滤器的认证,可以正常调用接口。

术语

WebApp:应用系统(Web Application,简称:WebApp),通常指你的web应用服务程序,也叫tomcat/webapp中部署的信息化B/S应用系统。

SSOServer:单点认证服务器,登录管理、组织机构、用户角色、权限管理、日志管理、权限鉴定、策略管理等。通常包含了多个逻辑服务:ASAuthenticate Service)、TGSTicket Granting Service)等。

SSOClient WebApp集成的单点登录客户端,也可以称为SSO集成SDK,实质为一个FilterTicketFilter和一个utilsSSOServerapi包含了基本的用户信息获取,权限验证,权限获取等操作。

SSO用户sso主要是指ssoserver登录验证之后,由SSOServer生成的用户信息。SSOClient会将用户信息存储到WebAppsession当中。

Token:认证令牌,通常指单点登录服务器与WebApp应用之间的认证票据,也叫Ticket

JWTJSON Web Token一种认证协议规范(概念!=实现),采用JSON数据将TokenTicket以及其他关键认证数据封装。

加盐:加盐是数据安全中的术语,未加盐的加密数据,存在逆向暴力破解的风险。假设你的明文A,通过X加密方法得到了密文XAXAA具有一对一映射的破解关系,极其容易被重放攻击。加盐的目的使明文A每次通过X加密方法之后得到了XAXBXC….,形成密文A与密文XN1:N关系。本系统加盐策略主要因子为“时间”。

防重放:防重放是指数据交互过程中,黑客截取了过程密文数据,利用历史交互的正确数据对服务器进行重放攻击。本系统SSOServerSSOClient之间的数据交互主要采用时间戳来防止重放攻击。


我们的联系方式:
    公司名称:四川书写人生科技有限公司
    通信地址:成都市金牛区兴盛西路2号固特大厦3幢A座405A
    公司座机:028-83410634
    微信电话:191-8044-7517
    联系邮件:admin@skycto.com
    我们承诺:邮件12小时回,微信4小时回复,欢迎致电联系。

推荐阅读

首页 分享微博 分享微信 回到顶部