# 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 接口
```