-
简介:
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 安全模块目前正在持续更新中。。。
-
项目地址