首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

[原创]Spring Security的登录后续处置方法

2012-10-25 
[原创]Spring Security的登录后续处理方法方法一:1) 定义登录的default-target-url,注意always-use-defaul

[原创]Spring Security的登录后续处理方法
方法一:
1) 定义登录的default-target-url,注意always-use-default-target必须设置为true,否则default-target-url可能根本走不到。

<form-login login-processing-url="/jalenLogin" login-page="/login.htm" default-target-url="/afterLogin.htm" authentication-failure-url="/login-error-true.htm" always-use-default-target="true" />


2) 对于定义的default-target-url,实现对应的action:
@Results( { @Result(name = "success", value = "/", type = ServletDispatcherResult.class) }) ervletDispatcherResult.class) }) public class AfterLoginAction{   public String execute() throws Exception {      // login后续的处理逻辑        return SUCCESS;   } }


方法一用户使用性上有点差(记不住用户原来访问的页面)。

方法二:复杂度稍微高些
1) 自定义自己的AuthenticationProcessingFilter,替换掉系统设置的:
public class JalenAuthenticationProcessingFilter extends AuthenticationProcessingFilter {     protected void onSuccessfulAuthentication(HttpServletRequest request, HttpServletResponse response, Authentication authResult) throws IOException {         //后续处理逻辑放在这里     } } 


2) 配置该filter
    <authentication-manager alias="authenticationManager" />    <beans:bean />        <beans:property name="authenticationManager" ref="authenticationManager" />        <beans:property name="filterProcessesUrl" value="/jalenLogin" />        <beans:property name="defaultTargetUrl" value="/" />        <beans:property name="authenticationFailureUrl" value="/login-error-true.htm" />     </beans:bean> 


3) 关闭auto-config,继承过来的filter和原filter有相同的order,因此会冲突。同时删除form-login这个element,这样将不会创建原filter。
auto-config="false"


4) 设置filter entry point
    entry-point-ref="authenticationProcessingFilterEntryPoint" 

 
    <beans:bean id="authenticationProcessingFilterEntryPoint" value="/login.htm" />     </beans:bean> 

1 楼 talangniao 2009-01-20   怎样实现多窗口登陆
比如后台一个用户表,论坛有用户注册登陆,这样用户可以登陆到不同的页面去
怎样使用security实现?

热点排行