Spring Security (Java Config) Login - Return Different URL Based on User Role -
i want return different pages when user logs system based on role.
i have method logging-in, don't know how return different url's.
@override protected void configure(httpsecurity http) throws exception { http .authorizerequests() .antmatchers("/css/**", "/js/**", "/images/**", "/data/**", "/", "/home").permitall() .anyrequest().authenticated() .and() .formlogin() .loginpage("/login") .permitall() .and() .logout() .permitall(); }
how can this? possible if don´t add new controller redirect after login , redirect different url in base him role?
thank much!
you can use defaultsuccessurl , failureurl on both .formlogin()
, .logout
functions. here example:
.formlogin() .loginpage("/login").loginprocessingurl("/login/validate") .defaultsuccessurl("/").failureurl("/login?error=true") .usernameparameter("username").passwordparameter("password") .and() .logout() .logoutrequestmatcher(new antpathrequestmatcher("/logout")) .logoutsuccessurl("/login?logout=true")
as far redirect each user role, suggest defaultsuccessurl
page have redirects based on user's role:
<sec:authorize access="hasrole('role_admin')">" <c:redirect url="/admin.html"/> </sec:authorize> <sec:authorize access="hasrole('role_user')">" <c:redirect url="/user.html"/> </sec:authorize>
Comments
Post a Comment