Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
D
data-server
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
data-server
Commits
34ad5d18
Commit
34ad5d18
authored
4 years ago
by
m1991
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
解决启动报错
parent
4272103d
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
1156 additions
and
1183 deletions
+1156
-1183
pom.xml
pom.xml
+1
-1
FileUploadConfig.java
...ava/cn/wisenergy/common/config/file/FileUploadConfig.java
+0
-29
User.java
...ergy-model/src/main/java/cn/wisenergy/model/app/User.java
+10
-9
ShiroConfig.java
...o/src/main/java/com/project/shiro/config/ShiroConfig.java
+195
-195
AuthenticationFilter.java
...ain/java/com/project/shiro/util/AuthenticationFilter.java
+275
-275
AuthenticationRealm.java
...main/java/com/project/shiro/util/AuthenticationRealm.java
+185
-185
AuthenticationToken.java
...main/java/com/project/shiro/util/AuthenticationToken.java
+41
-41
AuthorizationFilter.java
...main/java/com/project/shiro/util/AuthorizationFilter.java
+47
-47
Principal.java
...shiro/src/main/java/com/project/shiro/util/Principal.java
+38
-38
ShiroRedisCache.java
...in/java/com/project/shiro/util/redis/ShiroRedisCache.java
+175
-175
ShiroRedisCacheManager.java
.../com/project/shiro/util/redis/ShiroRedisCacheManager.java
+59
-59
ShiroRedisSessionDAO.java
...va/com/project/shiro/util/redis/ShiroRedisSessionDAO.java
+129
-129
LoginInterceptor.java
...va/cn/wisenergy/web/sms/interceptor/LoginInterceptor.java
+1
-0
No files found.
pom.xml
View file @
34ad5d18
...
...
@@ -39,7 +39,7 @@
<module>
wisenergy-model
</module>
<module>
wisenergy-mapper
</module>
<module>
wisenergy-service
</module>
<
module>
wisenergy-shiro
</module
>
<
!--<module>wisenergy-shiro</module>--
>
<module>
wisenergy-web-admin
</module>
</modules>
...
...
This diff is collapsed.
Click to expand it.
wisenergy-common/src/main/java/cn/wisenergy/common/config/file/FileUploadConfig.java
deleted
100644 → 0
View file @
4272103d
package
cn
.
wisenergy
.
common
.
config
.
file
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.web.multipart.MultipartResolver
;
import
org.springframework.web.multipart.commons.CommonsMultipartResolver
;
/**
* 文件上传配置
* @author wyy
* @date 2019-08-22 19:20
*/
@Configuration
public
class
FileUploadConfig
{
/**
* 重新定义文件上传对象【springBoot request转化成MultipartHttpServletRequest】
* @return
*/
@Bean
(
name
=
"multipartResolver"
)
public
MultipartResolver
multipartResolver
()
{
CommonsMultipartResolver
resolver
=
new
CommonsMultipartResolver
();
resolver
.
setDefaultEncoding
(
"UTF-8"
);
resolver
.
setResolveLazily
(
true
);
resolver
.
setMaxInMemorySize
(
40960
);
resolver
.
setMaxUploadSize
(
512
*
1024
*
1024
);
return
resolver
;
}
}
This diff is collapsed.
Click to expand it.
wisenergy-model/src/main/java/cn/wisenergy/model/app/User.java
View file @
34ad5d18
package
cn
.
wisenergy
.
model
.
app
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.baomidou.mybatisplus.extension.activerecord.Model
;
...
...
@@ -34,14 +35,14 @@ public class User extends Model<User> implements Serializable{
* 手机号作为用户账号
*/
@ApiModelProperty
(
name
=
"user_id"
,
value
=
"用户主键id"
)
@Table
I
d
(
"user_id"
)
@Table
Fiel
d
(
"user_id"
)
private
String
userId
;
/**
* 密码
*/
@ApiModelProperty
(
name
=
"password"
,
value
=
"用户密码"
)
@Table
I
d
(
"password"
)
@Table
Fiel
d
(
"password"
)
private
String
password
;
...
...
@@ -49,49 +50,49 @@ public class User extends Model<User> implements Serializable{
* 用户会员等级
*/
@ApiModelProperty
(
name
=
"user_level"
,
value
=
"用户会员等级"
)
@Table
I
d
(
"user_level"
)
@Table
Fiel
d
(
"user_level"
)
private
int
userLevel
;
/**
* 跨境额度
*/
@ApiModelProperty
(
name
=
"cross_border_line"
,
value
=
"跨境额度"
)
@Table
I
d
(
"cross_border_line"
)
@Table
Fiel
d
(
"cross_border_line"
)
private
BigDecimal
crossBorderLine
;
/**
* 身份证号码
*/
@ApiModelProperty
(
name
=
"id_card_number"
,
value
=
"身份证号码"
)
@Table
I
d
(
"id_card_number"
)
@Table
Fiel
d
(
"id_card_number"
)
private
String
idCardNumber
;
/**
* 粉丝昵称
*/
@ApiModelProperty
(
name
=
"fans_nickname"
,
value
=
"粉丝昵称"
)
@Table
I
d
(
"fans_nickname"
)
@Table
Fiel
d
(
"fans_nickname"
)
private
String
fansNickname
;
/**
* 有赞粉丝id,有赞自动生成
*/
@ApiModelProperty
(
name
=
"fans_id"
,
value
=
"有赞粉丝id,有赞自动生成"
)
@Table
I
d
(
"fans_id"
)
@Table
Fiel
d
(
"fans_id"
)
private
String
fansId
;
/**
* 用户本人邀请码
*/
@ApiModelProperty
(
name
=
"invite_code"
,
value
=
"用户本人邀请码"
)
@Table
I
d
(
"invite_code"
)
@Table
Fiel
d
(
"invite_code"
)
private
String
inviteCode
;
/**
* 推荐人邀请码
*/
@ApiModelProperty
(
name
=
"be_invited_code"
,
value
=
"推荐人邀请码"
)
@Table
I
d
(
"be_invited_code"
)
@Table
Fiel
d
(
"be_invited_code"
)
private
String
beInvitedCode
;
/**
...
...
This diff is collapsed.
Click to expand it.
wisenergy-shiro/src/main/java/com/project/shiro/config/ShiroConfig.java
View file @
34ad5d18
This diff is collapsed.
Click to expand it.
wisenergy-shiro/src/main/java/com/project/shiro/util/AuthenticationFilter.java
View file @
34ad5d18
This diff is collapsed.
Click to expand it.
wisenergy-shiro/src/main/java/com/project/shiro/util/AuthenticationRealm.java
View file @
34ad5d18
This diff is collapsed.
Click to expand it.
wisenergy-shiro/src/main/java/com/project/shiro/util/AuthenticationToken.java
View file @
34ad5d18
package
com
.
project
.
shiro
.
util
;
import
org.apache.shiro.authc.UsernamePasswordToken
;
/**
* 登录令牌
*/
public
class
AuthenticationToken
extends
UsernamePasswordToken
{
private
static
final
long
serialVersionUID
=
4628652632307774263L
;
//验证码ID
private
String
captchaId
;
//验证码
private
String
captcha
;
//ip保留
public
AuthenticationToken
(
String
loginName
,
String
password
,
boolean
remeberMe
,
String
ip
,
String
captchaId
,
String
caprcha
)
{
super
(
loginName
,
password
,
remeberMe
);
this
.
captchaId
=
captchaId
;
this
.
captcha
=
caprcha
;
}
public
String
getCaptchaId
()
{
return
captchaId
;
}
public
void
setCaptchaId
(
String
captchaId
)
{
this
.
captchaId
=
captchaId
;
}
public
String
getCaptcha
()
{
return
captcha
;
}
public
void
setCaptcha
(
String
captcha
)
{
this
.
captcha
=
captcha
;
}
}
//
package com.project.shiro.util;
//
//
import org.apache.shiro.authc.UsernamePasswordToken;
//
/
//
**
//
* 登录令牌
//
*/
//
public class AuthenticationToken extends UsernamePasswordToken {
//
//
private static final long serialVersionUID = 4628652632307774263L;
//
//
//验证码ID
//
private String captchaId;
//
//
//验证码
//
private String captcha;
//
//
//ip保留
//
public AuthenticationToken(String loginName, String password, boolean remeberMe, String ip, String captchaId, String caprcha) {
//
super(loginName, password, remeberMe);
//
this.captchaId = captchaId;
//
this.captcha = caprcha;
//
}
//
//
public String getCaptchaId() {
//
return captchaId;
//
}
//
//
public void setCaptchaId(String captchaId) {
//
this.captchaId = captchaId;
//
}
//
//
public String getCaptcha() {
//
return captcha;
//
}
//
//
public void setCaptcha(String captcha) {
//
this.captcha = captcha;
//
}
//
//
}
This diff is collapsed.
Click to expand it.
wisenergy-shiro/src/main/java/com/project/shiro/util/AuthorizationFilter.java
View file @
34ad5d18
package
com
.
project
.
shiro
.
util
;
import
com.alibaba.fastjson.JSONObject
;
import
io.swagger.annotations.ResponseHeader
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.shiro.web.filter.authz.PermissionsAuthorizationFilter
;
import
javax.servlet.ServletRequest
;
import
javax.servlet.ServletResponse
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.io.PrintWriter
;
/**
* @author wyy
* @date 2019-09-14 17:57
*/
public
class
AuthorizationFilter
extends
PermissionsAuthorizationFilter
{
/**
* shiro认证perms资源失败后回调方法
* @param servletRequest
* @param servletResponse
* @return
* @throws IOException
*/
@Override
protected
boolean
onAccessDenied
(
ServletRequest
servletRequest
,
ServletResponse
servletResponse
)
throws
IOException
{
HttpServletRequest
httpServletRequest
=
(
HttpServletRequest
)
servletRequest
;
HttpServletResponse
httpServletResponse
=
(
HttpServletResponse
)
servletResponse
;
String
requestedWith
=
httpServletRequest
.
getHeader
(
"X-Requested-With"
);
if
(
StringUtils
.
isNotEmpty
(
requestedWith
)
&&
StringUtils
.
equals
(
requestedWith
,
"XMLHttpRequest"
))
{
//如果是ajax返回指定格式数据
httpServletResponse
.
setContentType
(
"application/json"
);
httpServletResponse
.
setCharacterEncoding
(
"UTF-8"
);
PrintWriter
out
=
httpServletResponse
.
getWriter
();
JSONObject
json
=
new
JSONObject
();
json
.
put
(
"result"
,
"success"
);
json
.
put
(
"msg"
,
"登录成功"
);
out
.
write
(
json
.
toJSONString
());
out
.
flush
();
out
.
close
();
}
else
{
//如果是普通请求进行重定向
httpServletResponse
.
sendRedirect
(
"/403"
);
}
return
false
;
}
}
//
package com.project.shiro.util;
//
//
import com.alibaba.fastjson.JSONObject;
//
import io.swagger.annotations.ResponseHeader;
//
import org.apache.commons.lang3.StringUtils;
//
import org.apache.shiro.web.filter.authz.PermissionsAuthorizationFilter;
//
//
import javax.servlet.ServletRequest;
//
import javax.servlet.ServletResponse;
//
import javax.servlet.http.HttpServletRequest;
//
import javax.servlet.http.HttpServletResponse;
//
import java.io.IOException;
//
import java.io.PrintWriter;
//
/
//
**
//
* @author wyy
//
* @date 2019-09-14 17:57
//
*/
//
public class AuthorizationFilter extends PermissionsAuthorizationFilter {
//
/**
//
* shiro认证perms资源失败后回调方法
//
* @param servletRequest
//
* @param servletResponse
//
* @return
//
* @throws IOException
//
*/
//
@Override
//
protected boolean onAccessDenied(ServletRequest servletRequest, ServletResponse servletResponse) throws IOException {
//
HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest;
//
HttpServletResponse httpServletResponse = (HttpServletResponse) servletResponse;
//
String requestedWith = httpServletRequest.getHeader("X-Requested-With");
//
if (StringUtils.isNotEmpty(requestedWith) && StringUtils.equals(requestedWith, "XMLHttpRequest")) {//如果是ajax返回指定格式数据
//
httpServletResponse.setContentType("application/json");
//
httpServletResponse.setCharacterEncoding("UTF-8");
//
PrintWriter out = httpServletResponse.getWriter();
//
JSONObject json = new JSONObject();
//
json.put("result", "success");
//
json.put("msg", "登录成功");
//
out.write(json.toJSONString());
//
out.flush();
//
out.close();
//
} else {//如果是普通请求进行重定向
//
httpServletResponse.sendRedirect("/403");
//
}
//
return false;
//
}
//
}
This diff is collapsed.
Click to expand it.
wisenergy-shiro/src/main/java/com/project/shiro/util/Principal.java
View file @
34ad5d18
package
com
.
project
.
shiro
.
util
;
import
java.io.Serializable
;
public
class
Principal
implements
Serializable
{
private
static
final
long
serialVersionUID
=
598764316789461315L
;
public
Long
id
;
public
String
loginName
;
public
Principal
(
Long
id
,
String
loginName
)
{
this
.
id
=
id
;
this
.
loginName
=
loginName
;
}
public
Principal
()
{
}
public
Long
getId
()
{
return
id
;
}
public
void
setId
(
Long
id
)
{
this
.
id
=
id
;
}
public
String
getLoginName
()
{
return
loginName
;
}
public
void
setLoginName
(
String
loginName
)
{
this
.
loginName
=
loginName
;
}
}
//
package com.project.shiro.util;
//
//
import java.io.Serializable;
//
//
public class Principal implements Serializable {
//
//
private static final long serialVersionUID = 598764316789461315L;
//
//
public Long id;
//
//
public String loginName;
//
//
public Principal(Long id, String loginName) {
//
this.id = id;
//
this.loginName = loginName;
//
}
//
//
public Principal() {
//
//
}
//
//
public Long getId() {
//
return id;
//
}
//
//
public void setId(Long id) {
//
this.id = id;
//
}
//
//
public String getLoginName() {
//
return loginName;
//
}
//
//
public void setLoginName(String loginName) {
//
this.loginName = loginName;
//
}
//
//
}
This diff is collapsed.
Click to expand it.
wisenergy-shiro/src/main/java/com/project/shiro/util/redis/ShiroRedisCache.java
View file @
34ad5d18
This diff is collapsed.
Click to expand it.
wisenergy-shiro/src/main/java/com/project/shiro/util/redis/ShiroRedisCacheManager.java
View file @
34ad5d18
package
com
.
project
.
shiro
.
util
.
redis
;
import
cn.wisenergy.service.common.utils.redis.RedisClient
;
import
cn.wisenergy.service.common.utils.redis.RedisConsts
;
import
org.apache.shiro.cache.Cache
;
import
org.apache.shiro.cache.CacheException
;
import
org.apache.shiro.cache.CacheManager
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
javax.annotation.Resource
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.concurrent.ConcurrentMap
;
public
class
ShiroRedisCacheManager
implements
CacheManager
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
ShiroRedisCacheManager
.
class
);
private
final
ConcurrentMap
<
String
,
Cache
>
caches
=
new
ConcurrentHashMap
<
String
,
Cache
>();
//注入redisClient实例
@Resource
(
name
=
"redisClient"
)
private
RedisClient
redisClient
;
/**
* shiro权限缓存前缀
*/
private
String
keyPrefix
=
RedisConsts
.
ADMIN_SHIRO_REALM_KEY
;
@Override
public
<
K
,
V
>
Cache
<
K
,
V
>
getCache
(
String
name
)
throws
CacheException
{
logger
.
debug
(
"获取名称为: "
+
name
+
" 的RedisCache实例"
);
Cache
c
=
caches
.
get
(
keyPrefix
+
name
);
if
(
c
==
null
)
{
c
=
new
ShiroRedisCache
<
K
,
V
>(
redisClient
,
keyPrefix
);
caches
.
put
(
keyPrefix
+
name
,
c
);
}
return
c
;
}
public
RedisClient
getRedisClient
()
{
return
redisClient
;
}
public
void
setRedisClient
(
RedisClient
redisClient
)
{
this
.
redisClient
=
redisClient
;
}
public
String
getKeyPrefix
()
{
return
keyPrefix
;
}
public
void
setKeyPrefix
(
String
keyPrefix
)
{
this
.
keyPrefix
=
keyPrefix
;
}
}
//
package com.project.shiro.util.redis;
//
//
//
import cn.wisenergy.service.common.utils.redis.RedisClient;
//
import cn.wisenergy.service.common.utils.redis.RedisConsts;
//
import org.apache.shiro.cache.Cache;
//
import org.apache.shiro.cache.CacheException;
//
import org.apache.shiro.cache.CacheManager;
//
import org.slf4j.Logger;
//
import org.slf4j.LoggerFactory;
//
//
import javax.annotation.Resource;
//
import java.util.concurrent.ConcurrentHashMap;
//
import java.util.concurrent.ConcurrentMap;
//
//
public class ShiroRedisCacheManager implements CacheManager {
//
//
private static final Logger logger = LoggerFactory.getLogger(ShiroRedisCacheManager.class);
//
//
private final ConcurrentMap<String, Cache> caches = new ConcurrentHashMap<String, Cache>();
//
//
//注入redisClient实例
//
@Resource(name = "redisClient")
//
private RedisClient redisClient;
//
//
/**
//
* shiro权限缓存前缀
//
*/
//
private String keyPrefix = RedisConsts.ADMIN_SHIRO_REALM_KEY;
//
//
//
@Override
//
public <K, V> Cache<K, V> getCache(String name) throws CacheException {
//
//
logger.debug("获取名称为: " + name + " 的RedisCache实例");
//
Cache c = caches.get(keyPrefix + name);
//
if (c == null) {
//
c = new ShiroRedisCache<K, V>(redisClient, keyPrefix);
//
caches.put(keyPrefix + name, c);
//
}
//
return c;
//
}
//
//
public RedisClient getRedisClient() {
//
return redisClient;
//
}
//
//
public void setRedisClient(RedisClient redisClient) {
//
this.redisClient = redisClient;
//
}
//
//
public String getKeyPrefix() {
//
return keyPrefix;
//
}
//
//
public void setKeyPrefix(String keyPrefix) {
//
this.keyPrefix = keyPrefix;
//
}
//
}
This diff is collapsed.
Click to expand it.
wisenergy-shiro/src/main/java/com/project/shiro/util/redis/ShiroRedisSessionDAO.java
View file @
34ad5d18
package
com
.
project
.
shiro
.
util
.
redis
;
import
cn.wisenergy.service.common.utils.ByteUtil
;
import
cn.wisenergy.service.common.utils.redis.RedisClient
;
import
cn.wisenergy.service.common.utils.redis.RedisConsts
;
import
org.apache.shiro.session.Session
;
import
org.apache.shiro.session.UnknownSessionException
;
import
org.apache.shiro.session.mgt.eis.AbstractSessionDAO
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
javax.annotation.Resource
;
import
java.io.IOException
;
import
java.io.Serializable
;
import
java.util.Collection
;
import
java.util.HashSet
;
import
java.util.Set
;
public
class
ShiroRedisSessionDAO
extends
AbstractSessionDAO
{
private
static
Logger
logger
=
LoggerFactory
.
getLogger
(
ShiroRedisSessionDAO
.
class
);
//注入redisClient实例
@Resource
(
name
=
"redisClient"
)
private
RedisClient
redisClient
;
/**
* shiro-redis的session对象前缀
*/
private
String
keyPrefix
=
RedisConsts
.
ADMIN_SHIRO_SESSION_KEY
;
@Override
public
void
update
(
Session
session
)
throws
UnknownSessionException
{
this
.
saveSession
(
session
);
}
private
void
saveSession
(
Session
session
)
throws
UnknownSessionException
{
if
(
session
==
null
||
session
.
getId
()
==
null
)
{
logger
.
error
(
"session or session id is null"
);
return
;
}
this
.
redisClient
.
setAndExpire
(
this
.
getPreStringKey
(
session
.
getId
()),
session
,
RedisConsts
.
ADMIN_SHIRO_SESSION_EXPIRE
);
}
@Override
public
void
delete
(
Session
session
)
{
if
(
session
==
null
||
session
.
getId
()
==
null
)
{
logger
.
error
(
"session or session id is null"
);
return
;
}
redisClient
.
del
(
getPreStringKey
(
session
.
getId
()));
}
@Override
public
Collection
<
Session
>
getActiveSessions
()
{
Set
<
Session
>
sessions
=
new
HashSet
<
Session
>();
Set
<
byte
[]>
keys
=
null
;
try
{
keys
=
redisClient
.
keys
(
ByteUtil
.
objectToBytes
(
this
.
keyPrefix
+
"*"
));
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
if
(
keys
!=
null
&&
keys
.
size
()
>
0
)
{
for
(
byte
[]
key
:
keys
)
{
Session
s
=
null
;
try
{
s
=
(
Session
)
ByteUtil
.
bytesToObject
(
redisClient
.
get
(
key
));
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
catch
(
ClassNotFoundException
e
)
{
e
.
printStackTrace
();
}
sessions
.
add
(
s
);
}
}
return
sessions
;
}
@Override
protected
Serializable
doCreate
(
Session
session
)
{
Serializable
sessionId
=
this
.
generateSessionId
(
session
);
this
.
assignSessionId
(
session
,
sessionId
);
this
.
saveSession
(
session
);
return
sessionId
;
}
@Override
protected
Session
doReadSession
(
Serializable
sessionId
)
{
if
(
sessionId
==
null
)
{
logger
.
error
(
"session id is null"
);
return
null
;
}
Session
s
=
(
Session
)
redisClient
.
get
(
this
.
getPreStringKey
(
sessionId
));
return
s
;
}
/**
* 获得String类型的key
*
* @param
* @return
*/
private
String
getPreStringKey
(
Serializable
sessionId
)
{
String
preKey
=
this
.
keyPrefix
+
sessionId
;
return
preKey
;
}
public
String
getKeyPrefix
()
{
return
keyPrefix
;
}
public
void
setKeyPrefix
(
String
keyPrefix
)
{
this
.
keyPrefix
=
keyPrefix
;
}
public
void
setRedisClient
(
RedisClient
redisClient
)
{
this
.
redisClient
=
redisClient
;
}
public
RedisClient
getRedisClient
()
{
return
redisClient
;
}
}
//
package com.project.shiro.util.redis;
//
//
import cn.wisenergy.service.common.utils.ByteUtil;
//
import cn.wisenergy.service.common.utils.redis.RedisClient;
//
import cn.wisenergy.service.common.utils.redis.RedisConsts;
//
import org.apache.shiro.session.Session;
//
import org.apache.shiro.session.UnknownSessionException;
//
import org.apache.shiro.session.mgt.eis.AbstractSessionDAO;
//
import org.slf4j.Logger;
//
import org.slf4j.LoggerFactory;
//
//
import javax.annotation.Resource;
//
import java.io.IOException;
//
import java.io.Serializable;
//
import java.util.Collection;
//
import java.util.HashSet;
//
import java.util.Set;
//
//
public class ShiroRedisSessionDAO extends AbstractSessionDAO {
//
//
private static Logger logger = LoggerFactory.getLogger(ShiroRedisSessionDAO.class);
//
//
//注入redisClient实例
//
@Resource(name = "redisClient")
//
private RedisClient redisClient;
//
//
/**
//
* shiro-redis的session对象前缀
//
*/
//
//
private String keyPrefix = RedisConsts.ADMIN_SHIRO_SESSION_KEY;
//
//
@Override
//
public void update(Session session) throws UnknownSessionException {
//
this.saveSession(session);
//
}
//
//
private void saveSession(Session session) throws UnknownSessionException {
//
if (session == null || session.getId() == null) {
//
logger.error("session or session id is null");
//
return;
//
}
//
this.redisClient.setAndExpire(this.getPreStringKey(session.getId()), session, RedisConsts.ADMIN_SHIRO_SESSION_EXPIRE);
//
}
//
//
@Override
//
public void delete(Session session) {
//
if (session == null || session.getId() == null) {
//
logger.error("session or session id is null");
//
return;
//
}
//
redisClient.del(getPreStringKey(session.getId()));
//
//
}
//
//
@Override
//
public Collection<Session> getActiveSessions() {
//
Set<Session> sessions = new HashSet<Session>();
//
//
Set<byte[]> keys = null;
//
try {
//
keys = redisClient.keys(ByteUtil.objectToBytes(this.keyPrefix + "*"));
//
} catch (IOException e) {
//
e.printStackTrace();
//
}
//
if (keys != null && keys.size() > 0) {
//
for (byte[] key : keys) {
//
Session s = null;
//
try {
//
s = (Session) ByteUtil.bytesToObject(redisClient.get(key));
//
} catch (IOException e) {
//
e.printStackTrace();
//
} catch (ClassNotFoundException e) {
//
e.printStackTrace();
//
}
//
sessions.add(s);
//
}
//
}
//
//
return sessions;
//
}
//
//
@Override
//
protected Serializable doCreate(Session session) {
//
Serializable sessionId = this.generateSessionId(session);
//
this.assignSessionId(session, sessionId);
//
this.saveSession(session);
//
return sessionId;
//
}
//
//
@Override
//
protected Session doReadSession(Serializable sessionId) {
//
if (sessionId == null) {
//
logger.error("session id is null");
//
return null;
//
}
//
//
Session s = (Session) redisClient.get(this.getPreStringKey(sessionId));
//
return s;
//
}
//
//
/**
//
* 获得String类型的key
//
*
//
* @param
//
* @return
//
*/
//
private String getPreStringKey(Serializable sessionId) {
//
String preKey = this.keyPrefix + sessionId;
//
return preKey;
//
}
//
//
public String getKeyPrefix() {
//
return keyPrefix;
//
}
//
//
public void setKeyPrefix(String keyPrefix) {
//
this.keyPrefix = keyPrefix;
//
}
//
//
public void setRedisClient(RedisClient redisClient) {
//
this.redisClient = redisClient;
//
}
//
//
public RedisClient getRedisClient() {
//
return redisClient;
//
}
//
//
}
This diff is collapsed.
Click to expand it.
wisenergy-web-admin/src/main/java/cn/wisenergy/web/sms/interceptor/LoginInterceptor.java
View file @
34ad5d18
package
cn
.
wisenergy
.
web
.
sms
.
interceptor
;
import
cn.wisenergy.common.enums.ResultEnum
;
import
cn.wisenergy.common.utils.Constants
;
import
cn.wisenergy.common.utils.RedisUtils
;
import
cn.wisenergy.common.utils.ResponseOutput
;
import
cn.wisenergy.common.utils.StringUtil
;
...
...
This diff is collapsed.
Click to expand it.
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