# SpringMcSecurityStarter **Repository Path**: FLiuYi/SpringMcSecurityStarter ## Basic Information - **Project Name**: SpringMcSecurityStarter - **Description**: SpringSecurity魔改版、实现:前后端分离、用户同端口在线人数限制、验证是否在线、根据token剔出用户、根据用户id和端口剔出当前在线所有用户、完美继承SpringSecurity 权限功能,只扩展、对SpringSecurity原生无改动 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2020-04-25 - **Last Updated**: 2021-01-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SpringMcSecurityStarter #### 2.1.1新功能 - 新增放暴力破解功能,当然你需要自己实现 SafetyViolenceStorage 接口即可 #### 功能介绍 - 实现前后端分离 - 实现同时在线用户限制 - 实现登录携带额外参数功能 - 支持JDBC储存token,redis储存token - 支持缓存token、刷新token等 - 支持用户剔出信息保存 - @EnableMcSecurity 注解支持、否则默认使用Security #### 2.0.+主要功能 - 对二级缓存进行优化 - 内置了JDBC功能,用户只需要创建表就可以了 - 对Redis功能进行改进以及测试、1.0.+版本内置Redis功能BUG太多 - 简化TokenGenerate功能。使其只是生产token、并不储存token - 新增TokenStorage功能来储存token,这一块是从TokenGenerate独立出来的,并且新增动态修改Authentication功能 - 对TokenManager进行进行功能优化 - 新增McSecurityContext上下文功能,感觉很鸡肋,好像设计错了,下个版本看吧,不影响功能使用 #### 软件架构 1. 使用SpringSecurity进行扩展 2. Springboot版本 2.0+ #### 使用说明 1. 创建Springboot项目,SSM项目暂不支持引入 2. 在pom中引入 3. tencent tencent public http://mirrors.cloud.tencent.com/nexus/repository/maven-public/ true false aliy aliy public https://maven.aliyun.com/repository/public `true false fmy2020-maven-center center https://fmy2020-maven.pkg.coding.net/repository/maven/center/ true true 4. 引入 mcsecurity 5. com.fmy spring-mcsecurity-starter 最新发布版本 6. [相关 demo 示例:](https://gitee.com/FLiuYi/demo) #### TokenGenerate问题 1. TokenGenerate 为该扩展的核心接口,该接口主要用于生成且储存token,默认实现了两种方式 JDBC、Redis、JetCache 3. 如果使用 RedisTokenGenerate,只需把该类交付给 SpringBean管理即可 4. 如需其他存储方式,请实现TokenGenerate,并交付该实现类到 SpringBean即可 #### token查询二级缓存问题 1. 两级缓存可以使用 JetCache 方式、JDBC默认支持缓存、使用的也是JetCache,只不过是内存级缓存 #### 额外注意 1. 该扩展会默认重写 'AuthenticationFailureHandler' 以及 'AuthenticationSuccessHandler' 接口,请勿对该接口进行重写,如需登录 success/fail 处理,可实现 LoginHandler 接口 ```