Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
爱吃血肠
beauty_ssm
提交
390065f2
B
beauty_ssm
项目概览
爱吃血肠
/
beauty_ssm
通知
9
Star
1
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
B
beauty_ssm
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
390065f2
编写于
3月 11, 2018
作者:
爱吃血肠
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
新增LoginContext
上级
9389d53d
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
75 addition
and
17 deletion
+75
-17
src/main/java/com/yingjun/ssm/aop/BindingResultAop.java
src/main/java/com/yingjun/ssm/aop/BindingResultAop.java
+5
-17
src/main/java/com/yingjun/ssm/util/LoginContext.java
src/main/java/com/yingjun/ssm/util/LoginContext.java
+66
-0
src/main/java/com/yingjun/ssm/web/UserController.java
src/main/java/com/yingjun/ssm/web/UserController.java
+4
-0
未找到文件。
src/main/java/com/yingjun/ssm/aop/BindingResultAop.java
浏览文件 @
390065f2
package
com.yingjun.ssm.aop
;
import
com.yingjun.ssm.dto.BaseResult
;
import
org.aspectj.lang.ProceedingJoinPoint
;
import
org.aspectj.lang.annotation.Around
;
import
org.aspectj.lang.annotation.Aspect
;
...
...
@@ -8,12 +7,12 @@ import org.aspectj.lang.annotation.Pointcut;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.stereotype.Component
;
import
org.springframework.validation.BindingResult
;
/**
* @author
yingjun
* @author
liyunfeng
*
* 采用AOP的方式
处理参数问题
。
* 采用AOP的方式
检查用户是否登录
。
*/
@Component
@Aspect
...
...
@@ -26,19 +25,8 @@ public class BindingResultAop {
@Around
(
"aopMethod()"
)
public
Object
around
(
ProceedingJoinPoint
joinPoint
)
throws
Throwable
{
LOG
.
info
(
"before method invoking!"
);
BindingResult
bindingResult
=
null
;
for
(
Object
arg:
joinPoint
.
getArgs
()){
if
(
arg
instanceof
BindingResult
){
bindingResult
=
(
BindingResult
)
arg
;
}
}
if
(
bindingResult
!=
null
){
if
(
bindingResult
.
hasErrors
()){
String
errorInfo
=
"["
+
bindingResult
.
getFieldError
().
getField
()+
"]"
+
bindingResult
.
getFieldError
().
getDefaultMessage
();
return
new
BaseResult
<
Object
>(
false
,
errorInfo
);
}
}
LOG
.
info
(
"采用AOP的方式检查用户是否登录"
);
return
joinPoint
.
proceed
();
}
}
src/main/java/com/yingjun/ssm/util/LoginContext.java
0 → 100644
浏览文件 @
390065f2
package
com.yingjun.ssm.util
;
/**
* @author liyunfeng
* 保存用户的登录信息
*/
public
class
LoginContext
{
private
ThreadLocal
<
LoginContext
>
threadLocal
=
new
ThreadLocal
<>();
/**
* 主键id
*/
private
Long
id
;
/**
* 密码
*/
private
String
password
;
/**
* 姓名
*/
private
String
name
;
/**
* 电子邮箱
*/
private
String
email
;
/**
* 移除当前线程中的变量值
*/
public
void
remove
(){
threadLocal
.
remove
();
}
public
Long
getId
()
{
return
id
;
}
public
void
setId
(
Long
id
)
{
this
.
id
=
id
;
}
public
String
getPassword
()
{
return
password
;
}
public
void
setPassword
(
String
password
)
{
this
.
password
=
password
;
}
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
String
getEmail
()
{
return
email
;
}
public
void
setEmail
(
String
email
)
{
this
.
email
=
email
;
}
}
src/main/java/com/yingjun/ssm/web/UserController.java
浏览文件 @
390065f2
...
...
@@ -6,12 +6,15 @@ import com.yingjun.ssm.entity.User;
import
com.yingjun.ssm.enums.ResultEnum
;
import
com.yingjun.ssm.exception.BizException
;
import
com.yingjun.ssm.service.UserService
;
import
com.yingjun.ssm.util.LoginContext
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpSession
;
/**
* 用户
...
...
@@ -42,6 +45,7 @@ public class UserController {
public
BaseResult
<
Object
>
userLogin
(
User
user
)
{
try
{
userService
.
checkUserLogin
(
user
);
}
catch
(
BizException
e
)
{
return
new
BaseResult
<>(
false
,
e
.
getMessage
());
}
catch
(
Exception
e
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录