我在配置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框架。
答案 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