Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
V
volunteer_service
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
licc
volunteer_service
Commits
730bc1ff
Commit
730bc1ff
authored
Apr 11, 2021
by
xc
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
shiro限定并发登录人数
parent
27ba6638
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
16 additions
and
15 deletions
+16
-15
KickoutSessionControlFilter.java
...ergy/service/shir/filter/KickoutSessionControlFilter.java
+16
-15
No files found.
wisenergy-service/src/main/java/cn/wisenergy/service/shir/filter/KickoutSessionControlFilter.java
View file @
730bc1ff
...
@@ -67,9 +67,21 @@ public class KickoutSessionControlFilter extends AccessControlFilter{
...
@@ -67,9 +67,21 @@ public class KickoutSessionControlFilter extends AccessControlFilter{
protected
boolean
onAccessDenied
(
ServletRequest
request
,
ServletResponse
response
)
throws
Exception
{
protected
boolean
onAccessDenied
(
ServletRequest
request
,
ServletResponse
response
)
throws
Exception
{
log
.
info
(
"KickoutSessionControlFilter Not Login begin......."
);
log
.
info
(
"KickoutSessionControlFilter Not Login begin......."
);
Subject
subject
=
getSubject
(
request
,
response
);
Subject
subject
=
getSubject
(
request
,
response
);
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
HttpServletRequest
httpServletRequest
=(
HttpServletRequest
)
request
;
HttpServletRequest
httpServletRequest
=(
HttpServletRequest
)
request
;
HttpServletResponse
httpServletResponse
=
(
HttpServletResponse
)
response
;
HttpServletResponse
httpServletResponse
=
(
HttpServletResponse
)
response
;
// 没有登陆或没有设置“记住我”
HttpServletRequest
request1
=
(
HttpServletRequest
)
request
;
log
.
info
(
"KickoutSessionControlFilter isAuthenticated isRemembered {} {} {} {}......."
,
request1
.
getRequestURI
(),
subject
.
isAuthenticated
(),
subject
.
isRemembered
(),!
subject
.
isAuthenticated
()
&&
!
subject
.
isRemembered
());
if
(!
subject
.
isAuthenticated
()
&&
!
subject
.
isRemembered
())
{
log
.
info
(
"KickoutSessionControlFilter isAuthenticated and isRemembered Please login first ......."
);
// 没有登陆,抛出异常
thrLogoutException
(
httpServletRequest
,
httpServletResponse
,
"1001"
,
"请先登录后再执行操作"
);
return
false
;
}
Session
session
=
subject
.
getSession
();
Serializable
sessionId
=
session
.
getId
();
// 登录超时
// 登录超时
Integer
userId
=
null
;
Integer
userId
=
null
;
try
{
try
{
...
@@ -85,7 +97,8 @@ public class KickoutSessionControlFilter extends AccessControlFilter{
...
@@ -85,7 +97,8 @@ public class KickoutSessionControlFilter extends AccessControlFilter{
userId
=
accountInfo
.
getId
();
userId
=
accountInfo
.
getId
();
}
catch
(
Exception
en
)
{
}
catch
(
Exception
en
)
{
//员工端
//员工端
Staff
staff
=
(
Staff
)
SecurityUtils
.
getSubject
().
getPrincipal
();
log
.
info
(
"KickoutSessionControlFilter getSubject : {}..getPrincipal:{},....."
,
SecurityUtils
.
getSubject
(),
SecurityUtils
.
getSubject
().
getPrincipal
());
Staff
staff
=
(
Staff
)
SecurityUtils
.
getSubject
().
getPrincipal
();
log
.
info
(
"KickoutSessionControlFilter staff : {}......."
,
staff
.
toString
());
log
.
info
(
"KickoutSessionControlFilter staff : {}......."
,
staff
.
toString
());
userId
=
staff
.
getId
();
userId
=
staff
.
getId
();
}
}
...
@@ -100,19 +113,7 @@ public class KickoutSessionControlFilter extends AccessControlFilter{
...
@@ -100,19 +113,7 @@ public class KickoutSessionControlFilter extends AccessControlFilter{
thrLogoutException
(
httpServletRequest
,
httpServletResponse
,
"1003"
,
"登录超时,请重新登录"
);
thrLogoutException
(
httpServletRequest
,
httpServletResponse
,
"1003"
,
"登录超时,请重新登录"
);
return
false
;
return
false
;
}
}
// 没有登陆或没有设置“记住我”
HttpServletRequest
request1
=
(
HttpServletRequest
)
request
;
log
.
info
(
"KickoutSessionControlFilter isAuthenticated {} ......."
,
subject
.
isAuthenticated
());
log
.
info
(
"KickoutSessionControlFilter isRemembered {} ......."
,
subject
.
isRemembered
());
log
.
info
(
"KickoutSessionControlFilter isAuthenticated isRemembered {} {} ......."
,
request1
.
getRequestURI
(),!
subject
.
isAuthenticated
()
&&
!
subject
.
isRemembered
());
if
(!
subject
.
isAuthenticated
()
&&
!
subject
.
isRemembered
())
{
log
.
info
(
"KickoutSessionControlFilter isAuthenticated and isRemembered Please login first ......."
);
// 没有登陆,抛出异常
thrLogoutException
(
httpServletRequest
,
httpServletResponse
,
"1001"
,
"请先登录后再执行操作"
);
return
false
;
}
Session
session
=
subject
.
getSession
();
Serializable
sessionId
=
session
.
getId
();
log
.
info
(
"KickoutSessionControlFilter 如果被踢出了,直接退出,重定向到踢出后的地址-----返回1002"
);
log
.
info
(
"KickoutSessionControlFilter 如果被踢出了,直接退出,重定向到踢出后的地址-----返回1002"
);
//如果被踢出了,直接退出,重定向到踢出后的地址
//如果被踢出了,直接退出,重定向到踢出后的地址
if
(
session
.
getAttribute
(
"kickout"
)
!=
null
)
{
if
(
session
.
getAttribute
(
"kickout"
)
!=
null
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment