登录/认证
- fly-next-admin: 基于 SpringSecurity 实现用户登录认证, 详情见
fly-framework/fly-security模块 - fly-next-api: 基于 jwt 实现用户登录认证, 详情见
fly-framework/fly-jwt模块
全局获取用户信息
- 获取当前登录账号:
BizContextHandler.getAccount() - 获取当前用户ID:
BizContextHandler.getUserId() - 获取当前登录用户姓名:
BizContextHandler.getNickName() - 获取当前登录用户头像:
BizContextHandler.getAvatar() - 获取当前登录用户类型:
BizContextHandler.getUserType() - 获取当前登录用户部门ID:
BizContextHandler.getDeptId()
更多用户信息请查看 fly-framework/fly-context 模块下 com.github.itdachen.framework.context.BizContextHandler
通过注解获取用户信息
- Controller 层方法添加参数注解:
@CurrentUser - 添加请求参数数据类型
CurrentUserDetails - 示例代码如下:
@GetMapping("/user/info")
@ResponseBody
public ServerResponse< CurrentUserDetails > getCurrentUser(@CurrentUser CurrentUserDetails info) throws Exception {
return ServerResponse.okData(info);
}fly-next-admin
基于 Spring Security 封装, 简单容易上手, 详细见 fly-framework/fly-security 模块, pom 文件引入依赖如下:
xml
<!-- spring-security 登录认证模块 -->
<dependency>
<groupId>com.github.itdachen.framework</groupId>
<artifactId>fly-security</artifactId>
</dependency>基础配置
yaml
fly:
security:
signInPage: /login # 登录页面地址
signOutUrl: /login # 退出登录后跳转地址
successForwardUrl: /index # 登录成功之后, 后台管理模板
# 不需要认证的路径
matchers:
- / # 网站首页
- /open/** # 网站首页开放接口
- /website/** # 网站开放页面
session:
sessionInvalidUrl: /login # session 过期跳转路径
spring:
# 默认配置为存 Redis, 单机版打开下面配置
session:
store-type: NONE- 项目安全配置文件地址: com.github.itdachen.framework.autoconfigure.security.FlySecurityAutoConfiguration
- 安全配置前缀: fly.security
- SpringSecurity 默认配置接口:
fly-framework/fly-security模块下 com.github.itdachen.framework.security.websecurity 文件夹 - 关于短信验证登录, 编写 java 类, 实现 SmsCodeSender 接口, 对接对象的短信发送平台即可。默认验证码打印在控制台( 向手机 132xxxxxxxx 发送短信验证码: xxxxxx )
- 若需要更改配置, 建议熟悉 SpringSecurity 5.7.x 版本之后修改
- 更多配置, 见 fly-framework/fly-autoconfigure-processor 模块 com.github.itdachen.framework.autoconfigure.security 包
短信验证码发送和图形验证码重写
- 短信验证码发送: 实现 com.github.itdachen.framework.security.validate.code.sms.SmsCodeSender 接口中 send() 方法即可
- 重写图形验证码: 实现 com.github.itdachen.framework.security.validate.code.ValidateCodeGenerator 接口中 generate() 方法即可
- 关于验证码存取: 实现 com.github.itdachen.framework.security.validate.code.repository.ValidateCodeRepository 接口中的方法即可
- 以上文件地址均在
fly-framework/fly-security模块
fly-next-api
基于 jwt 封装, 简单容易上手, 详细见 fly-framework/fly-jwt 模块
剑鸣秋朔