Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lakernote
EasyAdmin
提交
75cd10f9
E
EasyAdmin
项目概览
lakernote
/
EasyAdmin
9 个月 前同步成功
通知
14
Star
3
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
E
EasyAdmin
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
75cd10f9
编写于
8月 09, 2021
作者:
lakernote
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
(新增)[后端](引入流程引擎)
上级
293ecc27
变更
11
隐藏空白更改
内联
并排
Showing
11 changed file
with
104 addition
and
51 deletion
+104
-51
README.md
README.md
+10
-2
pom.xml
pom.xml
+1
-1
src/main/java/com/laker/admin/config/WebMvcConfig.java
src/main/java/com/laker/admin/config/WebMvcConfig.java
+4
-1
src/main/java/com/laker/admin/framework/ext/satoken/LakerSaAnnotationInterceptor.java
...n/framework/ext/satoken/LakerSaAnnotationInterceptor.java
+0
-29
src/main/java/com/laker/admin/framework/ext/satoken/SaTokenExtActionImpl.java
...ker/admin/framework/ext/satoken/SaTokenExtActionImpl.java
+33
-0
src/main/java/com/laker/admin/framework/handler/GlobalExceptionHandler.java
...laker/admin/framework/handler/GlobalExceptionHandler.java
+2
-2
src/main/java/com/laker/admin/module/sys/controller/IndexController.java
...om/laker/admin/module/sys/controller/IndexController.java
+16
-0
src/main/java/com/laker/admin/module/sys/controller/LoginController.java
...om/laker/admin/module/sys/controller/LoginController.java
+1
-1
src/main/resources/application.yaml
src/main/resources/application.yaml
+14
-14
web/admin/index.html
web/admin/index.html
+16
-1
web/admin/login.html
web/admin/login.html
+7
-0
未找到文件。
README.md
浏览文件 @
75cd10f9
...
...
@@ -57,7 +57,15 @@ spring:
**前端**
纯静态的,可直接在浏览器运行,修改配置
`web/Pear.../componet/pear/pear.js`
2种方式部署
**一、Spring Boot虚拟磁盘模式**
什么都不用做,直接访问
`http://localhost:8080/admin`
**二、纯静态模式**
纯静态的,可直接在浏览器运行,修改配置
`web/admin/componet/pear/pear.js`
```
javascript
const
EasyAdminContext
=
{
...
...
@@ -65,7 +73,7 @@ const EasyAdminContext = {
};
```
直接在浏览器访问
`web/
Pear...
/index.html`
直接在浏览器访问
`web/
admin
/index.html`
...
...
pom.xml
浏览文件 @
75cd10f9
...
...
@@ -83,7 +83,7 @@
<dependency>
<groupId>
cn.dev33
</groupId>
<artifactId>
sa-token-spring-boot-starter
</artifactId>
<version>
1.
15.2
</version>
<version>
1.
24.0
</version>
</dependency>
<!-- 应用监控 -->
...
...
src/main/java/com/laker/admin/config/WebMvcConfig.java
浏览文件 @
75cd10f9
package
com.laker.admin.config
;
import
cn.dev33.satoken.interceptor.SaAnnotationInterceptor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.web.servlet.config.annotation.CorsRegistry
;
...
...
@@ -26,7 +27,9 @@ public class WebMvcConfig implements WebMvcConfigurer {
*/
@Override
public
void
addInterceptors
(
InterceptorRegistry
registry
)
{
//
// 注册注解拦截器,并排除不需要注解鉴权的接口地址 (与登录拦截器无关)
registry
.
addInterceptor
(
new
SaAnnotationInterceptor
()).
addPathPatterns
(
"/**"
)
.
excludePathPatterns
(
"/admin/**"
,
"/admin/login.html"
,
"/api/v1/login"
);
}
@Override
...
...
src/main/java/com/laker/admin/framework/ext/satoken/LakerSaAnnotationInterceptor.java
已删除
100644 → 0
浏览文件 @
293ecc27
package
com.laker.admin.framework.ext.satoken
;
import
cn.dev33.satoken.interceptor.SaAnnotationInterceptor
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
/**
* 对默认的做增强,默认拦截登录check
*/
public
class
LakerSaAnnotationInterceptor
extends
SaAnnotationInterceptor
{
/**
* 每次请求之前触发的方法
*/
@Override
public
boolean
preHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
)
throws
Exception
{
// // 获取处理method
// if (handler instanceof HandlerMethod == false) {
// return true;
// }
// 判断是否登录
super
.
getStpLogic
().
checkLogin
();
// 调用父类的默认方法
return
super
.
preHandle
(
request
,
response
,
handler
);
}
}
src/main/java/com/laker/admin/framework/ext/satoken/SaTokenExtActionImpl.java
0 → 100644
浏览文件 @
75cd10f9
package
com.laker.admin.framework.ext.satoken
;
import
cn.dev33.satoken.action.SaTokenActionDefaultImpl
;
import
cn.dev33.satoken.annotation.SaCheckLogin
;
import
cn.dev33.satoken.stp.StpUtil
;
import
org.springframework.stereotype.Component
;
import
java.lang.reflect.AnnotatedElement
;
/**
* Sa-Token 逻辑代理接口 [默认实现类]
*
* @author kong
*/
@Component
public
class
SaTokenExtActionImpl
extends
SaTokenActionDefaultImpl
{
/**
* 从指定元素校验注解
*
* @param target see note
*/
@Override
protected
void
validateAnnotation
(
AnnotatedElement
target
)
{
super
.
validateAnnotation
(
target
);
// 校验 @SaCheckLogin 注解
if
(!
target
.
isAnnotationPresent
(
SaCheckLogin
.
class
))
{
StpUtil
.
checkLogin
();
}
}
}
src/main/java/com/laker/admin/framework/handler/GlobalExceptionHandler.java
浏览文件 @
75cd10f9
...
...
@@ -3,8 +3,8 @@ package com.laker.admin.framework.handler;
import
cn.dev33.satoken.exception.NotLoginException
;
import
cn.hutool.core.lang.Dict
;
import
com.laker.admin.framework.exception.BusinessException
;
import
com.laker.admin.framework.Response
;
import
com.laker.admin.framework.exception.BusinessException
;
import
com.laker.admin.utils.http.HttpServletRequestUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.hibernate.validator.internal.engine.path.NodeImpl
;
...
...
@@ -134,7 +134,7 @@ public class GlobalExceptionHandler {
public
Response
handleMaxSizeException
(
NotLoginException
e
,
HttpServletResponse
response
)
throws
IOException
{
log
.
info
(
HttpServletRequestUtil
.
getAllRequestInfo
());
log
.
error
(
e
.
getMessage
(),
e
);
response
.
sendRedirect
(
"/
index
.html"
);
response
.
sendRedirect
(
"/
admin/login
.html"
);
return
Response
.
error
(
"401"
,
e
.
getMessage
());
}
...
...
src/main/java/com/laker/admin/module/sys/controller/IndexController.java
0 → 100644
浏览文件 @
75cd10f9
package
com.laker.admin.module.sys.controller
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
@Controller
@RequestMapping
(
"/admin"
)
public
class
IndexController
{
@GetMapping
({
""
,
"/index"
,
"/"
})
public
String
adminIndex
()
{
return
"redirect:/admin/index.html"
;
}
}
\ No newline at end of file
src/main/java/com/laker/admin/module/sys/controller/LoginController.java
浏览文件 @
75cd10f9
...
...
@@ -40,7 +40,7 @@ public class LoginController {
if
(
sysUser
==
null
)
{
return
Response
.
error
(
"5001"
,
"用户名或密码不正确"
);
}
StpUtil
.
setLoginId
(
1
);
StpUtil
.
login
(
1
);
return
Response
.
ok
(
StpUtil
.
getTokenInfo
());
}
...
...
src/main/resources/application.yaml
浏览文件 @
75cd10f9
...
...
@@ -12,20 +12,6 @@ spring:
max-active
:
300
test-on-borrow
:
true
validation-query
:
select
1
# sa-token配置
sa-token
:
# token名称 (同时也是cookie名称)
token-name
:
LakerToken
# token有效期,单位s 默认30天, -1代表永不过期
# timeout: 1800
# token临时有效期 (指定时间内无操作就视为token过期) 单位: 秒
# activity-timeout: 3000
# 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录)
allow-concurrent-login
:
true
# 在多人登录同一账号时,是否共用一个token (为true时所有登录共用一个token, 为false时每次登录新建一个token)
is-share
:
false
# token风格
token-style
:
simple-uuid
profiles
:
active
:
dev
task
:
...
...
@@ -49,6 +35,20 @@ knife4j:
enable
:
true
javamelody
:
enabled
:
true
# sa-token配置
sa-token
:
# token名称 (同时也是cookie名称)
token-name
:
LakerToken
# token有效期,单位s 默认30天, -1代表永不过期
# timeout: 1800
# token临时有效期 (指定时间内无操作就视为token过期) 单位: 秒
# activity-timeout: 3000
# 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录)
allow-concurrent-login
:
true
# 在多人登录同一账号时,是否共用一个token (为true时所有登录共用一个token, 为false时每次登录新建一个token)
is-share
:
false
# token风格
token-style
:
simple-uuid
video
:
url
:
http://1.1.1.1
admin
:
...
...
web/admin/index.html
浏览文件 @
75cd10f9
...
...
@@ -87,13 +87,28 @@
var
convert
=
layui
.
convert
;
var
popup
=
layui
.
popup
;
var
user
=
layui
.
data
(
'
user
'
);
if
(
JSON
.
stringify
(
user
)
==
"
{}
"
)
{
location
.
href
=
"
login.html
"
;
}
console
.
log
(
user
)
admin
.
setAvatar
(
"
admin/images/avatar.jpg
"
,
"
就眠仪式
"
);
admin
.
setConfigType
(
"
yml
"
);
admin
.
setConfigPath
(
"
config/pear.config.yml
"
);
console
.
log
(
admin
.
readConfig
());
let
readConfig
=
admin
.
readConfig
();
readConfig
.
menu
.
data
=
EasyAdminContext
.
url
+
"
/sys/menu/tree
"
const
menuUrl
=
EasyAdminContext
.
url
+
"
/sys/menu/tree
"
;
$
.
ajax
({
url
:
menuUrl
,
dataType
:
'
json
'
,
success
:
function
()
{
},
error
:
function
()
{
location
.
href
=
"
login.html
"
;
}
});
readConfig
.
menu
.
data
=
menuUrl
;
admin
.
render
(
readConfig
);
// 登出逻辑
...
...
web/admin/login.html
浏览文件 @
75cd10f9
...
...
@@ -61,12 +61,19 @@
type
:
'
post
'
,
success
:
function
(
result
)
{
if
(
result
.
success
)
{
layui
.
data
(
'
user
'
,
{
key
:
result
.
data
.
tokenName
,
value
:
result
.
data
.
tokenValue
});
// 动画
button
.
load
({
elem
:
'
.login
'
,
time
:
500
,
done
:
function
()
{
popup
.
success
(
"
登录成功
"
,
function
()
{
location
.
href
=
"
index.html
"
});
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录