Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
shengzhang_
sa-token
提交
3b9f6b71
sa-token
项目概览
shengzhang_
/
sa-token
通知
68
Star
16
Fork
4
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
sa-token
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
3b9f6b71
编写于
1月 13, 2021
作者:
shengzhang_
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
集成Gitalk评论系统
上级
251ac4cf
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
51 addition
and
11 deletion
+51
-11
sa-token-doc/doc/README.md
sa-token-doc/doc/README.md
+22
-7
sa-token-doc/doc/index.html
sa-token-doc/doc/index.html
+28
-4
sa-token-doc/doc/lib/index.css
sa-token-doc/doc/lib/index.css
+1
-0
未找到文件。
sa-token-doc/doc/README.md
浏览文件 @
3b9f6b71
<p
align=
"center"
>
<img
alt=
"logo"
src=
"https://gitee.com/sz6/sa-token/raw/master/sa-token-doc/doc/logo.png"
width=
"150"
height=
"150"
style=
"margin-bottom: 10px;"
>
<img
alt=
"logo"
src=
"https://gitee.com/sz6/sa-token/raw/master/sa-token-doc/doc/logo.png"
width=
"150"
height=
"150"
>
</p>
<h1
align=
"center"
style=
"margin: 30px 0 30px; font-weight: bold;"
>
sa-token v1.12.0
</h1>
<h4
align=
"center"
>
这可能是史上功能最全的Java权限认证框架!
</h4>
...
...
@@ -27,14 +27,14 @@
-
[
开源不易,求鼓励,点个star吧
](
###
)
##
sa-t
oken是什么?
sa-token是一个
JavaWeb轻量级权限认证框架,主要解决项目中登录认证、权限认证、Session会话等一系列由此衍生的权限相关业务
##
Sa-T
oken是什么?
sa-token是一个
轻量级Java权限认证框架,主要解决: 登录认证、权限认证、Session会话 等一系列权限相关问题
在架构设计上
`sa-token`
拒绝引入复杂的概念,以实际业务需求为第一目标进行定向突破,例如踢人下线、自动续签、同端互斥登录等常见业务在框架内均可以一行代码调用实现
,简单粗暴,拒绝复杂!
在架构设计上
,
`sa-token`
拒绝引入复杂的概念,以实际业务需求为第一目标进行定向突破,例如踢人下线、自动续签、同端互斥登录等常见业务在框架内
**均可以一行代码调用实现**
,简单粗暴,拒绝复杂!
对于传统Session会话模型的N多难题,例如难以分布式、水平扩展性差,难以兼容前后台分离环境,多会话管理混乱等,
`sa-token`
独创了以账号为主的
`
Id-Session`
模式,同时又兼容了
传统以token为主的
`Token-Session`
模式,两者彼此独立,互不干扰,
让你在进行会话管理时
可以
如鱼得水,在
`sa-toekn`
的强力加持下,权限问题将不再成为业务逻辑的瓶颈!
`sa-token`
独创了以账号为主的
`
User-Session`
模式,同时又兼容
传统以token为主的
`Token-Session`
模式,两者彼此独立,互不干扰,
让你在进行会话管理时如鱼得水,在
`sa-toekn`
的强力加持下,权限问题将不再成为业务逻辑的瓶颈!
总的来说,与其它权限认证框架相比,
`sa-token`
具有以下优势:
1.
上手简单:可零配置启动框架,能自动化的均已自动化,不让你费脑子
...
...
@@ -42,7 +42,7 @@ sa-token是一个JavaWeb轻量级权限认证框架,主要解决项目中登
3.
API简单易用:同样的一个功能,可能在别的框架中需要上百行代码,但是在sa-token中统统一行代码调个方法即可解决
4.
组件易于扩展:框架中几乎所有组件都提供了对应的扩展接口,90%以上的逻辑都是可以被按需重写的
有了sa-token,
是时候和那些老旧权限框架说拜拜了
!
有了sa-token,
你所有的权限认证问题,都不再是问题
!
## 代码示例
...
...
@@ -57,6 +57,21 @@ StpUtil.setLoginId(10001);
StpUtil
.
checkLogin
();
```
权限认证示例 (只有具有
`user:add`
权限的会话才可以进入请求)
```
java
@SaCheckPermission
(
"user:add"
)
@RequestMapping
(
"/user/insert"
)
public
String
insert
(
SysUser
user
)
{
return
"用户增加"
;
}
```
将某个账号踢下线 (待到对方再次访问系统时会抛出
`NotLoginException`
异常)
```
java
// 使账号id为10001的会话注销登录
StpUtil
.
logoutByLoginId
(
10001
);
```
如果上面的示例能够证明
`sa-token`
的简单,那么以下API则可以证明
`sa-token`
的强大
```
java
StpUtil
.
setLoginId
(
10001
);
// 标记当前会话登录的账号id
...
...
sa-token-doc/doc/index.html
浏览文件 @
3b9f6b71
...
...
@@ -46,7 +46,7 @@
name
:
name
,
// 名字
repo
:
'
https://github.com/click33/sa-token
'
,
// github地址
// themeColor: '#06A3D7', // 主题颜色
basePath
:
location
.
pathname
.
substr
(
0
,
location
.
pathname
.
lastIndexOf
(
'
/
'
)
+
1
),
// 自动计算项目名字
basePath
:
location
.
pathname
.
substr
(
0
,
location
.
pathname
.
lastIndexOf
(
'
/
'
)
+
1
),
// 自动计算项目名字
// basePath: '/sa-token-doc/', // 设置文件加载的父路径, 这在一些带项目名部署的文件中非常有效
auto2top
:
true
,
// 是否在切换页面后回到顶部
// coverpage: true, // 开启封面
...
...
@@ -61,7 +61,7 @@
alias
:
{
'
/.*/_sidebar.md
'
:
'
/_sidebar.md
'
},
plugins
:
[
// 自定义插件
plugins
:
[
// 自定义插件
function
(
hook
,
vm
)
{
// 解析之后执行
hook
.
afterEach
(
function
(
html
)
{
...
...
@@ -70,13 +70,14 @@
var
footer
=
[
'
<br/><br/><br/><br/><br/><br/><br/><hr/>
'
,
'
<footer>
'
,
'
<span>发现错误?想参与编辑? 在 <a href="
'
+
url
+
'
" target="_blank">Gitee</a> 或 <a href="
'
+
url2
+
'
" target="_blank">GitHub</a> 上编辑此页!</span>
'
,
'
<span>发现错误?想参与编辑? 在 <a href="
'
+
url
+
'
" target="_blank">Gitee</a> 或 <a href="
'
+
url2
+
'
" target="_blank">GitHub</a> 上编辑此页!</span>
'
,
'
</footer>
'
].
join
(
''
);
return
html
+
footer
;
});
}
]
]
}
</script>
<script
src=
"https://unpkg.zhimg.com/docsify@4.9.4/lib/docsify.min.js"
></script>
...
...
@@ -101,5 +102,28 @@
<script
type=
"text/javascript"
src=
"https://v1.cnzz.com/z_stat.php?id=1279021391&web_id=1279021391"
></script>
</div>
<!-- Gitalk评论 -->
<link
rel=
"stylesheet"
href=
"https://unpkg.zhimg.com/gitalk@1.7.0/dist/gitalk.css"
>
<script
src=
"https://unpkg.zhimg.com/docsify@4.11.6/lib/plugins/gitalk.min.js"
></script>
<script
src=
"https://unpkg.zhimg.com/gitalk@1.7.0/dist/gitalk.min.js"
></script>
<script>
function
f5Gitalk
()
{
window
.
gitalk
=
new
Gitalk
({
id
:
location
.
hash
.
replace
(
'
#
'
,
''
),
clientID
:
'
19939399448841f818a1
'
,
clientSecret
:
'
af67e0cc14a0f36e171895771c330471cfe36c23
'
,
repo
:
'
sa-token
'
,
// 仓库名称
owner
:
'
click33
'
,
admin
:
[
'
click33
'
],
// 管理员列表
// facebook-like distraction free mode
distractionFreeMode
:
false
})
}
f5Gitalk
();
window
.
onhashchange
=
function
()
{
f5Gitalk
();
}
</script>
</body>
</html>
sa-token-doc/doc/lib/index.css
浏览文件 @
3b9f6b71
...
...
@@ -40,6 +40,7 @@
.lang-js
.token.string
{
color
:
#ddd
;}
.lang-js
.token.punctuation
{
color
:
#ddd
;}
.gt-container
{
padding
:
1.5em
;
padding-bottom
:
100px
;}
/* 调整表格的响应式 */
#main
table
{
margin-left
:
25px
;}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录