spring - How to pass request parameter to 'default-target-url' -
spring - How to pass request parameter to 'default-target-url' -
i setting 'cat=1' in hidden field in login.jsp page , expecting available on default-target-url. entry in spring-security.xml is,
<form-login login-page="/login.html" default-target-url="/index.html" authentication-failure-url="/loginfailed.html" />
and in controller,
@requestmapping(value="/index", method = requestmethod.get) public string index(httpservletrequest request) { string cat = request.getparameter("cat"); if (cat != null && cat.equalsignorecase("1")) { homecoming "add"; } homecoming "redirect:/index.jsp"; }
but cant request parameter value (cat null) believe because 'default-target-url' redirects request (and not forwards it?). case?
if yes there way can pass parameter 'default-target-url'?
i have changed implementation approach bit. details give below,
spring-security.xml
<form-login login-page="/login.html" authentication-success-handler-ref="feedsuccesshandler" authentication-failure-url="/loginfailed.html" /> <logout logout-success-url="/loggedout.html"/> <beans:bean id="feedsuccesshandler" class="main.java.com.sp.utilities.feedsuccesshandler"> </beans:bean>
feedsuccesshandler.java
public class feedsuccesshandler implements authenticationsuccesshandler { public void onauthenticationsuccess(httpservletrequest request, httpservletresponse response, authentication authentication) throws ioexception, servletexception { string cat = request.getparameter("cat"); if (cat != null && cat.equalsignorecase("1")) { response.sendredirect(request.getcontextpath()+"/add.html"); }else{ savedrequest savedrequest = new httpsessionrequestcache().getrequest(request, response); if(savedrequest != null) { response.sendredirect(savedrequest.getredirecturl()); }else{ response.sendredirect(request.getcontextpath()+"/"); } } } }
application working desired in future if want customize redirection based on roles, can utilize same class.
spring spring-security
Comments
Post a Comment