`

bboss 票据实现系统SSO功能介绍

阅读更多
测试环境应用账号:
appid:gspoffice
secret:52ad4782-9002-4b88-9c70-83858d772b69

第一种方案:比较复杂



登录时获取ticket,自己保存在某个地方(session或者数据库都行):
String url = "http://bboss.bbossgroups.com/token/v2/genTicket.freepage?appid="+appid + "&secret="+secret + "&account="+account+ "&worknumber="+worknumber;
String ticket = org.frameworkset.spi.remote.http.HttpReqeust.httpPostforString(url);
ticket 格式:
{
ticket:令牌
resultcode: 操作结果码
livetime:ticket有效期,每次访问时会刷新访问时间,以最近访问时间为起点计算有效期,有效期内都可以使用
message:错误信息

}


每次跳转到其他系统获取带有时效性的一次性临时令牌,作为参数传递给其他系统:
String url = "http://bboss.bbossgroups.com/token/v2/getAuthTempToken.freepage?appid="+appid + "&secret="+secret + "&ticket="+ticket;
String token = org.frameworkset.spi.remote.http.HttpReqeust.httpPostforString(url);

token 格式:
{

resultcode: 操作结果码
token:临时token
message:错误信息
}

其他系统得到令牌,通过令牌获取用户账号和工号,获取完毕后临时令牌失效:

String url = "http://bboss.bbossgroups.com/checktoken/v2/checkToken.freepage?appid="+appid + "&secret="+secret + "&token="+token;
String personresult = org.frameworkset.spi.remote.http.HttpReqeust.httpPostforString(url);

personresult 格式:
{
validateResult:boolean 如果获取到用户信息则为true,否则为false
resultcode: 操作结果码
userAccount:用户账号
worknumber:用户工号
message:错误信息

}




第二种方案,更加简单

直接获取临时票据

跳转时获取一个临时性的ticket:
String url = "http://bboss.bbossgroups.com/token/v2/getTempTicket.freepage?appid="+appid + "&secret="+secret + "&account="+account+ "&worknumber="+worknumber;
String ticket = org.frameworkset.spi.remote.http.HttpReqeust.httpPostforString(url);
ticket 格式:
{
ticket:令牌
resultcode: 操作结果码
livetime:ticket有效期,每次访问时会刷新访问时间,以最近访问时间为起点计算有效期,有效期内都可以使用
message:错误信息

}




其他系统获取到临时ticket,通过临时ticket获取用户账号和工号,同时临时ticket会失效(临时ticket的有效期在令牌服务器端设置):

String url = "http://bboss.bbossgroups.com/checktoken/v2/checkTicket.freepage?appid="+appid + "&secret="+secret + "&ticket="+ticket;
String personresult = org.frameworkset.spi.remote.http.HttpReqeust.httpPostforString(url);

personresult 格式:
{
validateResult:boolean 如果获取到用户信息则为true,否则为false
resultcode: 操作结果码
userAccount:用户账号
worknumber:用户工号
message:错误信息

}


接下来我们来运行第二种方案:

在chrome浏览器中输入地址获取临时ticket:
http://bboss.bbossgroups.com/token/v2/getTempTicket.freepage?appid=gspoffice&secret=52ad4782-9002-4b88-9c70-83858d772b69&account=yinbp&worknumber=10006673


响应以下json报文,说明临时ticket生成正确,ticket的有效期是60秒:
{"resultcode":"ok","ticket":"tmptk_564b1212-7dce-4180-a885-44b235bced05","livetime":60000,"message":null}


通过上面生成的ticket获取用户账户和工号,在chrome中输入以下请求:
http://bboss.bbossgroups.com/checktoken/v2/checkTicket.freepage?appid=gspoffice&secret=52ad4782-9002-4b88-9c70-83858d772b69&ticket=tmptk_e8d179c3-cfe9-41cb-ba81-d466e19c5e0f

如果浏览器中响应以下json报文,说明通过ticket获取账号和工号正确:

{"resultcode":"ok","userAccount":"yinbp","worknumber":"10006673","message":null,"validateResult":true}


如果浏览器中响应以下json报文,说明ticket已经不存在,获取账号和工号为null:
{"resultcode":"TICKETNOTEXIST","userAccount":null,"worknumber":null,"message":null,"validateResult":false}


如果浏览器中响应以下json报文,说明ticket已经失效,获取账号和工号为null:
{"resultcode":"TICKETEXPIRED","userAccount":null,"worknumber":null,"message":null,"validateResult":false}


分享到:
评论

相关推荐

    bboss 安全认证过滤器功能介绍

    通过阅读`SYSAuthenticateFilter.java`的源码,我们可以深入了解BBoss框架如何实现这些功能,并学习如何自定义和扩展安全认证过滤器,以满足特定的应用场景需求。源码分析有助于我们更好地理解和控制Web应用的安全...

    bboss会话共享培训文档

    其次,bboss会话共享支持跨域和跨应用的会话共享,并能实现单点登录(SSO)功能。单点登录是指用户在多个应用之间无需重复登录,提供统一的认证入口。例如,在一个域下的多个子应用之间,使用bboss可以共享认证信息...

    elasticsearch:基于springboot整合bboss es实现的demo项目

    本实例是一个基于bboss es spring boot starter的demo maven工程,可供spring boot项目集成bboss elasticsearch rest client参考 展示了通过spring boot管理单集群功能和管理多集群功能 单集群测试用例:...

    bboss mvcdemo 下载地址

    4. **AOP(面向切面编程)**:BBoss MVCDemo支持AOP,可以实现如事务管理、日志记录、权限控制等功能,提高代码的复用性和可维护性。 5. **国际化与本地化**:框架内置了国际化和本地化支持,使得应用可以根据用户...

    企业级J2EE开源框架bboss

    1. **组件化开发**:BBoss支持模块化和组件化的开发模式,允许开发者根据项目需求选择必要的功能组件,避免了传统框架中“大而全”的问题,降低了系统的复杂度。 2. **数据库操作**:BBoss提供了便捷的数据访问层...

    bboss-elasticsearch开发环境搭建和开发入门视频教程.

    5. **高级功能**: 学习如何利用 BBoss 进行聚合分析、自定义插件开发、性能优化等进阶操作。 **五、视频教程** 1. **搭建bboss elasticsearch开发环境.wmv**: 这个视频将指导你完成从安装Elasticsearch到配置BBoss...

    springboot整合bboss es增删改查测试demo代码

    本实例是一个基于bboss es spring boot starter的demo maven工程,可供spring boot项目集成bboss elasticsearch rest client参考 展示了通过spring boot管理单集群功能和管理多集群功能 单集群测试用例:...

    由 bboss 开源的数据采集&流批一体化工具,提供数据采集、数据清洗转换处理和数据入库以及数据指标统计计算流批一体化处理功能

    为了便于管理和监控,bboss-datatran 提供了可视化的操作界面,用户可以查看作业状态、监控性能指标、调整作业配置等。此外,它还支持API接口,方便集成到自动化运维流程中。 ### 社区支持 作为开源项目,bboss-...

    bboss ioc配置文件中使用外部属性文件介绍

    BBoss是一个轻量级的企业级应用开发框架,提供了IOC(Inversion of Control)功能,使得对象之间的依赖关系可以通过配置文件进行管理。本文将详细介绍如何在BBoss的IOC配置文件中引用外部属性文件,以便更好地管理和...

    bboss persistent 1.0.2中方便地实现大字段(clob,blob)的处理

    6. **性能优化**:BBoss Persistent还可能包括针对CLOB和BLOB的性能优化,比如预读取、延迟加载等策略,以提高应用的响应速度和整体性能。 总结来说,BBoss Persistent 1.0.2在处理CLOB和BLOB这类大字段时,通过...

    Elasticsearch rest client bboss介绍-Elastic2018中国开发者大会演讲稿.pptx

    Elasticsearch rest client bboss介绍-Elastic2018中国开发者大会演讲稿

    bboss+es基本操作示例.zip

    结合bboss和Elasticsearch,开发者可以轻松实现日志实时分析、用户行为追踪、商品推荐等业务场景,通过DSL实现复杂查询和聚合分析,提升应用的数据处理能力。 总之,bboss+es基本操作示例是学习和实践Elastic...

    bboss mvc 通过jsonp实现跨站跨域远程访问

    至于“公共开发平台国际化.ppt”,这是一个可能与本次主题相关的文件,可能是关于bboss MVC或类似框架在开发公共平台时如何实现国际化(i18n)的介绍。国际化是使软件产品能够适应不同地区的语言和文化习惯的过程,...

    bboss elasticsearch-5.7.8.rar

    2. `jackson-databind-2.9.8.jar`:Jackson是JSON处理库,`databind`模块实现了将Java对象映射到JSON和反向映射的功能,对于Elasticsearch的数据导入和导出非常关键。 3. `bboss-util-5.5.0.jar`和`bboss-...

    springboot集成ElasticsearchBboss调用Elasticsearch.md

    springboot集成ElasticsearchBboss调用Elasticsearch的案例分享

    bboss-db-elasticsearch-tool-master_java_

    【bboss-db-elasticsearch-tool-master_java_】是一个Java ORM(对象关系映射)框架,它在功能上超越了MyBatis,提供了对多种数据库的广泛支持,包括MySQL、Oracle、PostgreSQL、SQLServer、DB2、DM以及MongoDB。...

    bboss会话共享培训文档分享

    本培训文档将介绍集群session管理的发展历史、bbosssession的架构及特点、性能指标、与应用的集成方式、部署模式以及场景演示等,旨在帮助技术人员理解并掌握bbosssession的使用方法和优势。 一、集群session管理...

Global site tag (gtag.js) - Google Analytics