Skip to content
章节导航

登录/认证

  • 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 模块