Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
qq_45598856
white-jotter
提交
3b2d6239
W
white-jotter
项目概览
qq_45598856
/
white-jotter
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
W
white-jotter
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
3b2d6239
编写于
10月 16, 2019
作者:
E
Evan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: interceptor invalidation
上级
12766f35
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
64 addition
and
15 deletion
+64
-15
wj-vue/src/components/Login.vue
wj-vue/src/components/Login.vue
+4
-4
wj-vue/src/main.js
wj-vue/src/main.js
+40
-2
wj-vue/src/store/index.js
wj-vue/src/store/index.js
+6
-5
wj/src/main/java/com/gm/wj/controller/LoginController.java
wj/src/main/java/com/gm/wj/controller/LoginController.java
+2
-1
wj/src/main/java/com/gm/wj/pojo/User.java
wj/src/main/java/com/gm/wj/pojo/User.java
+9
-0
wj/src/main/java/com/gm/wj/realm/WJRealm.java
wj/src/main/java/com/gm/wj/realm/WJRealm.java
+1
-1
wj/src/main/java/com/gm/wj/service/UserService.java
wj/src/main/java/com/gm/wj/service/UserService.java
+2
-2
未找到文件。
wj-vue/src/components/Login.vue
浏览文件 @
3b2d6239
...
...
@@ -3,11 +3,11 @@
<el-form
:rules=
"rules"
class=
"login-container"
label-position=
"left"
label-width=
"0px"
v-loading=
"loading"
>
<h3
class=
"login_title"
>
系统登录
</h3>
<el-form-item
prop=
"
account
"
>
<el-form-item
prop=
"
username
"
>
<el-input
type=
"text"
v-model=
"loginForm.username"
auto-complete=
"off"
placeholder=
"账号"
></el-input>
</el-form-item>
<el-form-item
prop=
"
checkPass
"
>
<el-form-item
prop=
"
password
"
>
<el-input
type=
"password"
v-model=
"loginForm.password"
auto-complete=
"off"
placeholder=
"密码"
></el-input>
</el-form-item>
...
...
@@ -25,8 +25,8 @@
data
()
{
return
{
rules
:
{
account
:
[{
required
:
true
,
message
:
'
用户名不能为空
'
,
trigger
:
'
blur
'
}],
checkPass
:
[{
required
:
true
,
message
:
'
密码不能为空
'
,
trigger
:
'
blur
'
}]
username
:
[{
required
:
true
,
message
:
'
用户名不能为空
'
,
trigger
:
'
blur
'
}],
password
:
[{
required
:
true
,
message
:
'
密码不能为空
'
,
trigger
:
'
blur
'
}]
},
checked
:
true
,
loginForm
:
{
...
...
wj-vue/src/main.js
浏览文件 @
3b2d6239
...
...
@@ -17,10 +17,14 @@ Vue.config.productionTip = false
Vue
.
use
(
ElementUI
)
Vue
.
use
(
mavonEditor
)
// 页面刷新时,重新赋值token,也可直接在 store 里设置 token 默认值
// if (window.localStorage.getItem('token')) {
// store.commit('login', window.localStorage.getItem('token'))
// }
router
.
beforeEach
((
to
,
from
,
next
)
=>
{
if
(
to
.
meta
.
requireAuth
)
{
if
(
store
.
state
.
user
.
username
)
{
console
.
log
(
store
.
state
.
user
.
username
)
if
(
store
.
state
.
user
!==
'
未登录
'
)
{
next
()
}
else
{
next
({
...
...
@@ -34,6 +38,40 @@ router.beforeEach((to, from, next) => {
}
)
// http request 拦截器
axios
.
interceptors
.
request
.
use
(
config
=>
{
if
(
store
.
state
.
token
)
{
// 判断是否存在token,如果存在的话,则每个http header都加上token
config
.
headers
.
Authorization
=
`token
${
store
.
state
.
token
}
`
}
return
config
},
err
=>
{
return
Promise
.
reject
(
err
)
})
// http response 拦截器
axios
.
interceptors
.
response
.
use
(
response
=>
{
return
response
},
error
=>
{
if
(
error
.
response
)
{
switch
(
error
.
response
.
status
)
{
case
401
:
// 返回 401 清除token信息并跳转到登录页面
store
.
commit
(
'
logout
'
)
router
.
replace
({
path
:
'
login
'
,
query
:
{
redirect
:
router
.
currentRoute
.
fullPath
}
})
}
}
// 返回接口返回的错误信息
return
Promise
.
reject
(
error
.
response
.
data
)
})
/* eslint-disable no-new */
new
Vue
({
el
:
'
#app
'
,
...
...
wj-vue/src/store/index.js
浏览文件 @
3b2d6239
...
...
@@ -6,24 +6,25 @@ Vue.use(Vuex)
export
default
new
Vuex
.
Store
({
state
:
{
user
:
{
//
name: window.localStorage.getItem('user' || '[]') == null ? '未登录' : JSON.parse(window.localStorage.getItem('user' || '[]')).name,
name
:
window
.
localStorage
.
getItem
(
'
user
'
||
'
[]
'
)
==
null
?
'
未登录
'
:
JSON
.
parse
(
window
.
localStorage
.
getItem
(
'
user
'
||
'
[]
'
)).
name
,
// userface: window.localStorage.getItem('user' || '[]') == null ? '' : JSON.parse(window.localStorage.getItem('user' || '[]')).userface,
username
:
window
.
localStorage
.
getItem
(
'
user
'
||
'
[]
'
)
==
null
?
''
:
JSON
.
parse
(
window
.
localStorage
.
getItem
(
'
user
'
||
'
[]
'
)).
username
// roles: window.localStorage.getItem('user' || '[]') == null ? '' : JSON.parse(window.localStorage.getItem('user' || '[]')).roles
},
// token: window.localStorage.getItem('token'),
routes
:
[]
},
mutations
:
{
initMenu
(
state
,
menus
)
{
state
.
routes
=
menus
},
login
(
state
,
user
)
{
state
.
user
=
user
window
.
localStorage
.
setItem
(
'
user
'
,
JSON
.
stringify
(
user
))
console
.
log
(
user
)
login
(
state
,
data
)
{
// state.user = data
window
.
localStorage
.
setItem
(
'
user
'
,
data
)
},
logout
(
state
)
{
window
.
localStorage
.
removeItem
(
'
user
'
)
// state.user = null
state
.
routes
=
[]
}
},
...
...
wj/src/main/java/com/gm/wj/controller/LoginController.java
浏览文件 @
3b2d6239
...
...
@@ -30,10 +30,11 @@ public class LoginController {
username
=
HtmlUtils
.
htmlEscape
(
username
);
Subject
subject
=
SecurityUtils
.
getSubject
();
// subject.getSession().setTimeout(10000);
UsernamePasswordToken
token
=
new
UsernamePasswordToken
(
username
,
requestUser
.
getPassword
());
try
{
subject
.
login
(
token
);
User
user
=
userService
.
getByName
(
username
);
User
user
=
userService
.
getBy
User
Name
(
username
);
session
.
setAttribute
(
"user"
,
user
);
return
ResultFactory
.
buildSuccessResult
(
user
);
}
catch
(
AuthenticationException
e
)
{
...
...
wj/src/main/java/com/gm/wj/pojo/User.java
浏览文件 @
3b2d6239
...
...
@@ -15,6 +15,7 @@ public class User {
int
id
;
String
username
;
String
password
;
String
name
;
String
salt
;
public
int
getId
()
{
...
...
@@ -41,6 +42,14 @@ public class User {
this
.
password
=
password
;
}
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
String
getSalt
()
{
return
salt
;
}
...
...
wj/src/main/java/com/gm/wj/realm/WJRealm.java
浏览文件 @
3b2d6239
...
...
@@ -27,7 +27,7 @@ public class WJRealm extends AuthorizingRealm {
@Override
protected
AuthenticationInfo
doGetAuthenticationInfo
(
AuthenticationToken
token
)
throws
AuthenticationException
{
String
userName
=
token
.
getPrincipal
().
toString
();
User
user
=
userService
.
getByName
(
userName
);
User
user
=
userService
.
getBy
User
Name
(
userName
);
String
passwordInDB
=
user
.
getPassword
();
String
salt
=
user
.
getSalt
();
SimpleAuthenticationInfo
authenticationInfo
=
new
SimpleAuthenticationInfo
(
userName
,
passwordInDB
,
ByteSource
.
Util
.
bytes
(
salt
),
getName
());
...
...
wj/src/main/java/com/gm/wj/service/UserService.java
浏览文件 @
3b2d6239
...
...
@@ -14,11 +14,11 @@ public class UserService {
UserDAO
userDAO
;
public
boolean
isExist
(
String
username
)
{
User
user
=
getByName
(
username
);
User
user
=
getBy
User
Name
(
username
);
return
null
!=
user
;
}
public
User
getByName
(
String
username
)
{
public
User
getBy
User
Name
(
String
username
)
{
return
userDAO
.
findByUsername
(
username
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录