博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring Security+Spring Social+SpringBoot集成Restful可配置安全模块及代码生成器
阅读量:6930 次
发布时间:2019-06-27

本文共 4271 字,大约阅读时间需要 14 分钟。

  • 简介:

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

  • 浏览器安全模块使用方法

浏览器安全认证默认配置

默认的用户名密码登录请求处理url: /authentication/form默认的手机验证码登录请求处理url: /authentication/mobile当请求需要身份认证时,默认跳转的url: /authentication/form默认登录页面: /my-signIn.html默认注册社交用户页面: /my-signUp.html验证图片验证码时,http请求中默认的携带图片验证码信息的参数的名称: imageCode验证短信验证码时,http请求中默认的携带短信验证码信息的参数的名称: smsCode发送短信验证码 或 验证短信验证码时,传递手机号的参数的名称: mobilesession并发登录的跳转地址: /session/gwf-session-invalid.htmlsession失效默认的跳转地址: /session/gwf-session-expired.html查看社交用户绑定情况: /connect (需登录)社交用户绑定url: /connect/{providerId} (需登录)复制代码

浏览器安全认证自定义配置

gwf.security.browser.loginPage  //登录页面gwf.security.browser.loginType  //登录类型 JSON/REDIRECTgwf.security.browser.signUpUrl  //社交用户注册urlgwf.security.browser.signOutUrl //退出页面,不设置则退出返回jsongwf.security.browser.rememberMeSeconds //记住我时间gwf.security.session.maximumSessions //同一个用户在系统中的最大session数,默认1gwf.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     //需要图片验证码验证的urlgwf.security.code.image.expireIn  //超时时间gwf.security.code.sms.length    //图片验证码长度(可跟在请求url参数后修改)gwf.security.code.sms.url       //需要图片验证码验证的urlgwf.security.code.sms.expireIn  //超时时间gwf.security.social.qq.app-id   //qq登录 appIdgwf.security.social.qq.app-secret  //qq登录 秘钥gwf.security.social.qq.providerId  //qq登录 providerIdgwf.security.social.weixin.app-id  //微信扫码登录 appidgwf.security.social.weixin.app-secret //微信扫码登录 秘钥gwf.security.social.weixin.providerId  //微信扫码登录 providerIdgwf.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代码生成器使用方法

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

使用详情请见

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

  • 项目地址

转载地址:http://yrcjl.baihongyu.com/

你可能感兴趣的文章
mysql 的搜索引擎myisam 和 innodb的区别
查看>>
我的友情链接
查看>>
Centos 下Mysql 表名区分大小名问题
查看>>
Python for与 range()
查看>>
Xen Server 6.1虚拟化详细安装图文
查看>>
ubuntu一键安装LAMP
查看>>
mysql sql 优化
查看>>
C++程序安装卸载WDM驱动
查看>>
Android签名总结
查看>>
在数据库中获取当前时间语句
查看>>
Oracle纯SQL实现递归查询分页(树查询分页)
查看>>
【定制化图像开放平台】入门实例之手写数字模型训练
查看>>
Kernel 内核线程
查看>>
Win32窗口函数中获取鼠标位置
查看>>
批处理常用符号详解
查看>>
Ehcache的简单例子
查看>>
Oracle 操作中的问题
查看>>
LeetCode_150evalRPN [Evaluate Reverse Polish No..]
查看>>
informix分页
查看>>
sql 字符串替换
查看>>