前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring Security+Spring Social+SpringBoot集成Restful可配置安全模块及代码生成器

Spring Security+Spring Social+SpringBoot集成Restful可配置安全模块及代码生成器

作者头像
Meet相识
发布2018-09-12 16:25:14
2K0
发布2018-09-12 16:25:14
举报
文章被收录于专栏:技术专栏技术专栏
  • 简介:

1.本项目主要分为core核心模块,browser浏览器模块,app模块,demo使用restful实例模块及spring-boot-api-project-seed代码生成器模块。 2.本项目主要实现,手机验证码登录功能,图片验证码登录功能,qq,微信社交用户登录功能,controller--mapper层通用crud代码生成功能,swagger-ui文档功能,session集群管理功能,OAuth2App登录功能,统一异常处理,并实现安全模块与业务模块解耦,可灵活配置

  • 浏览器安全模块使用方法
浏览器安全认证默认配置
代码语言:javascript
复制
默认的用户名密码登录请求处理url: /authentication/form
默认的手机验证码登录请求处理url: /authentication/mobile
当请求需要身份认证时,默认跳转的url: /authentication/form
默认登录页面: /my-signIn.html
默认注册社交用户页面: /my-signUp.html
验证图片验证码时,http请求中默认的携带图片验证码信息的参数的名称: imageCode
验证短信验证码时,http请求中默认的携带短信验证码信息的参数的名称: smsCode
发送短信验证码 或 验证短信验证码时,传递手机号的参数的名称: mobile
session并发登录的跳转地址: /session/gwf-session-invalid.html
session失效默认的跳转地址: /session/gwf-session-expired.html
查看社交用户绑定情况: /connect (需登录)
社交用户绑定url: /connect/{providerId} (需登录)
浏览器安全认证自定义配置
代码语言:javascript
复制
gwf.security.browser.loginPage  //登录页面
gwf.security.browser.loginType  //登录类型 JSON/REDIRECT
gwf.security.browser.signUpUrl  //社交用户注册url
gwf.security.browser.signOutUrl //退出页面,不设置则退出返回json
gwf.security.browser.rememberMeSeconds //记住我时间

gwf.security.session.maximumSessions //同一个用户在系统中的最大session数,默认1
gwf.security.session.maxSessionsPreventsLogin //达到最大session时是否阻止新的登录请求,默认为false,不阻止,新的登录会将老的登录失效掉
gwf.security.session.sessionExpiredUrl //session并发登录时的跳转地址
gwf.security.session.sessionInvalidUrl //session失效时跳转的地址


gwf.security.code.image.length  //图片验证码长度(可跟在请求url参数后修改)
gwf.security.code.image.width   //图片验证码宽度(可跟在请求url参数后修改)
gwf.security.code.image.height  //图片验证码高度(可跟在请求url参数后修改)
gwf.security.code.image.url     //需要图片验证码验证的url
gwf.security.code.image.expireIn  //超时时间

gwf.security.code.sms.length    //图片验证码长度(可跟在请求url参数后修改)
gwf.security.code.sms.url       //需要图片验证码验证的url
gwf.security.code.sms.expireIn  //超时时间

gwf.security.social.qq.app-id   //qq登录 appId
gwf.security.social.qq.app-secret  //qq登录 秘钥
gwf.security.social.qq.providerId  //qq登录 providerId

gwf.security.social.weixin.app-id  //微信扫码登录 appid
gwf.security.social.weixin.app-secret //微信扫码登录 秘钥
gwf.security.social.weixin.providerId  //微信扫码登录 providerId

gwf.security.social.filterProcessesUrl  //过滤器url  filterProcessesUrl/providerId 为社交用户登录的入口url

通过实现 org.springframework.social.connect.ConnectionSignUp接口并注册成spring的bean完成社交登录默认注册本地用户的逻辑
示例请见 demo模块 com.gwf.security.DemoConnectionSignUp

通过实现 org.springframework.security.core.userdetails.UserDetails;org.springframework.social.security.SocialUserDetailsService;接口自定义获取数据库用户信息的逻辑
示例请见 demo模块 com.gwf.security.MyUserDetailService

通过实现 org.springframework.security.web.session.SessionInformationExpiredStrategy;接口,继承com.gwf.security.brower.session.AbstractSessionStrategy 来自定义并发登录的逻辑
示例请见 browser模块 com.gwf.security.brower.session.GwfExpiredSessionStrategy

通过实现 org.springframework.security.web.session.InvalidSessionStrategy;接口,继承com.gwf.security.brower.session.AbstractSessionStrategy 来自定义session的逻辑
示例请见 browser模块 com.gwf.security.brower.session.GwfInvalidSessionStrategy

通过实现 org.springframework.security.web.authentication.SimpleUrlAuthenticationFailureHandler接口 自定义登录失败逻辑
示例请见 com.gwf.security.brower.authentication.MyAuthenticationFailHandler

通过实现 org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler 自定义登录成功逻辑
示例请见 com.gwf.security.brower.authentication.MyAuthenticationSuccessHandler

通过实现 org.springframework.security.web.authentication.logout.LogoutSuccessHandler接口 自定义退出成功逻辑
示例请见 com.gwf.security.brower.logout.MyLogoutSuccessHandler

通过实现 com.gwf.security.core.vaildate.code.ValidateCodeGenerator并声明为 名称为imageValidateCodeGenerator的bean来自定义图片验证码生成逻辑
示例请见 com.gwf.security.core.vaildate.code.image.ImageCodeGenerator

通过实现 com.gwf.security.core.vaildate.code.sms.SmsCodeSender并声明为bean 来自定义发送短信验证码逻辑
示例请见 com.gwf.security.core.vaildate.code.sms.DefaultSmsCodeSender

通过继承 org.springframework.web.servlet.view.AbstractView 抽象类自定义绑定解绑社交账户后的显示逻辑
示例请见 com.gwf.security.core.social.GwfConnectionStatusView 和 com.gwf.security.core.social.GwfConnectView
示例请见 com.gwf.security.core.social.GwfConnectionStatusView 和 com.gwf.security.core.social.GwfConnectView

spring-boot-api-project-seed代码生成器使用方法

代码语言:javascript
复制
2. 对```test```包内的代码生成器```CodeGenerator```进行配置,主要是JDBC,因为要根据表名来生成代码
3. 如果只是想根据上面的演示来亲自试试的话可以使用```test resources```目录下的```demo-user.sql```,否则忽略该步
3. 输入表名,运行```CodeGenerator.main()```方法,生成基础代码(可能需要刷新项目目录才会出来)
4. 根据业务在基础代码上进行扩展
5. 对开发环境配置文件```application-dev.yml```进行配置,启动项目,Have Fun!

使用详情请见 https://toutiao.io/posts/qqonfm

  • app 安全模块目前正在持续更新中。。。
  • 项目地址

https://github.com/MarkGao11520/gwfSecurity

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.12.02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 浏览器安全认证默认配置
  • 浏览器安全认证自定义配置
相关产品与服务
验证码
腾讯云新一代行为验证码(Captcha),基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证。最大程度保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档