Spring Security处理器
来源:互联网 发布:微课制作软件 编辑:程序博客网 时间:2024/06/06 00:31
在Spring Security中我们可以定义自己的Handler帮我们完成一些功能,例如登陆成功之后将用户信息放入到Session中、改变执行流的方向等,在这里列举两个Handler:AuthenticationSuccessHandler(登陆成功处理器)、AccessDeniedHandler(拒绝访问处理器),接下来分别自定义这两个处理器。
public class LoginSuccessHandler implements AuthenticationSuccessHandler {
public void onAuthenticationSuccess(HttpServletRequest req,
HttpServletResponse resp, Authentication auth) throws IOException,
ServletException {
HttpSession session=req.getSession();
//MyUserDetails是自定义实现UserDetails的类
MyUserDetials user=(MyUserDetials) auth.getPrincipal();
session.setAttribute("user",user.getU());
resp.sendRedirect("home");
}
}
public class MyAccessDeniedHandler implements AccessDeniedHandler {
public void handle(HttpServletRequest req, HttpServletResponse resp,
AccessDeniedException arg2) throws IOException, ServletException {
String uri=req.getRequestURI();
//满足要求改变工作流
if(uri.equals("/shop/publish.jsp"))
{
resp.sendRedirect("applicant.jsp");
}
}
}
当然别忘了还需要在配置文件中配置:
<http>
<access-denied-handler ref="myAccessDeniedHandler"/>
<form-login login-page="/login.jsp"
authentication-failure-url="/403.jsp"
login-processing-url="/j_login"
default-target-url="/home"
always-use-default-target="true" authentication-success-handler-ref="loginSuccessHanlder"
/>
</http>
<beans:bean id="loginSuccessHanlder" class="com.duangshopping.handler.LoginSuccessHandler" >
<beans:bean id="myAccessDeniedHandler" class="com.duangshopping.handler.MyAccessDeniedHandler"/>
</beans:bean>
- Spring Security处理器
- spring security:自定义认证成功处理器
- Spring Security的解析处理器的载入
- Spring Security
- Spring Security
- spring security
- spring security
- spring security
- spring security
- spring security
- spring security
- spring security
- spring security
- spring security
- Spring Security
- spring security
- spring-security
- Spring Security
- 七月一号课堂心得
- PHP开发环境搭建
- 关于IO的今天学到的一点东西
- C语言中数组作为函数参数的问题
- 黑马程序员-OC语言-@property关键字介绍及使用(听课笔记)
- Spring Security处理器
- Exception in thread "main" java.io.IOException: Permission denied
- 非技术,纯粹一些最近的经历
- 黑马程序员------集合的遍历Iterator/ListIterator
- 浅谈Xen和半虚拟化技术
- Oracle中“行转列”的实现方式
- Swift数据类型--布尔和字符串
- 设计模式-解释器模式
- Java读取带有BOM的UTF-8文件乱码原因及解决办法