Spring security default-target-url不起作用

时间:2015-11-13 06:05:05

标签: java spring-security

我在配置Spring安全时遇到default-target-url选项的问题。当我成功登录时,它总是重定向到我的应用程序的根上下文。

以下是配置文件片段:

<security:http auto-config="true" use-expressions="true">
    <security:form-login login-page="/login.html"
                         login-processing-url="/login_check"
                         default-target-url="/test111111.html"
                         always-use-default-target="true"
                         authentication-failure-url="/login.html?error=true"
                         authentication-success-handler-ref="loginSuccessHandler"/>

我使用Spring MVC作为我的MVC框架。

1 个答案:

答案 0 :(得分:0)

  

让我们从最简单的角度了解您的场景。你是   在您的Web项目中使用Spring MVC。我假设你有一个   requestHandler映射到root context,然后每当我点击时都会映射到test111111.html home page   像default-target-url="/test111111.html"这样的无效网址会重定向到Spring MVC requestHandler

这里的要点是让/test111111.html有效,您需要@Controller public class DurClass { @RequestMapping(value = "/defaultTarget", method = RequestMethod.GET) public String defaultTarget(Model model) { return "defaultTarget.html"; } } <security:http auto-config="true" use-expressions="true"> <security:form-login login-page="/login.html" login-processing-url="/login_check" default-target-url="/defaultTarget" always-use-default-target="true" authentication-failure-url="/login.html?error=true" authentication-success-handler-ref="loginSuccessHandler"/> 来处理请求resources :interests do resources :tweets, only: :index end

就像我说的,你需要有一个合适的请求处理程序,如:

 def index
   @tweets = get_user_tweets(params[:id])       
   respond_with(@tweets) do |format|
   format.json { render :json => @tweets.as_json }
  end end