基于springMVC集成了Token,实现SSO,跨域访问的小框架介绍

毕竟在这之前,都是看别人的博客,站在巨人的肩膀上,我想这次也许我也应该分享一些自己的东西出来。废话不多说,直接来看怎么使用。

首先将lingshi_base.jar的jar包引用到你的web工程中,当然需要提的是在这之前你需要在你的web工程上配置好springMVC,log4j这个我就不多说啦。

1.集成Token的使用

首先在web.xml中配置Token过滤器

    
TokenCheckFilter
lingshi.web.filter.TokenCheckFilter

                       

allowpath
login,Login,Contents,Pages,LayEditImgUpload,Majors/List,Classes/List,Users/Add

                         

iscross
true

在application.xml中注入8位密钥,用于加密Token

    

 

接下来只要在你的Controller中这样写就可以了:其中RequestHolder为lingshi_base.jar包中含有,使用setClientUser将自动往Respone的Header和Cookie中加上Access Token(Header)以及LingShi_Token(Cookie)。如果你有需要使用到我提供的respData,那么你可以直接使用RequestHolder.success(),RequestHolder.fail(),RequestHolder.err();其中返回格式为{data:'你的数据',code:'状态码,success为1其他为0',msg:'返回的提示信息',msgcode:'错误码,目前只有0000这一种,在Token错误时会回传'},需要特别一提的是err()方法不止会返回msg同时会记录log,这里需要log4j支持。

基于springMVC集成了Token,实现SSO,跨域访问的小框架介绍_第1张图片

在这个接口调用返回后,前端会多一个Cookie:LingShi_Token,当每次请求的时候将这个Token带上即可,注,这个Token的有效时间只有2个小时,可以通过setClientUser刷新过期时间。一下是前端获取到的Token


2.如何开启跨域?

同样在web.xml中配置TokenCheckFilter的初始化字段

    
TokenCheckFilter
lingshi.web.filter.TokenCheckFilter

iscross
true

当然,配置跨域后记得配置domain,以便于允许子域名接入,依然实在application.xml中注入lingshi.model.LingShiConfig的属性



3.如何开启单点登陆

依然实在application.xml中注入lingshi.model.LingShiConfig的属性

    


4.当然这个小框架中也集成了mybatis generator(用于自动生成 model ,XXXmapper.xml,XXmapper.java文件,集成了常用的验证工具类,加密工具类,数据类型转换工具类,上传的File集成处理,这些我就不介绍了,直接上 git上的源码地址

同时提供一个使用这个框架的web demo,这个web是使用gradle构建的,源码中包括了数据库,gradle后就可以使用了,不过这个web中的jar包没有更新,不支持sso单点登录。 demo源码地址

你可能感兴趣的:(Token,SSO,跨域,javaweb)