2011-01-07 42 views
5

Tôi sử dụng bảo mật mùa xuân để xác thực người dùng. Trong security.xml tôi cócách thay đổi url mục tiêu mặc định tùy thuộc vào vai trò người dùng

<form-login login-page="/login" 
       default-target-url="/dashboard" 
       always-use-default-target="false" 
       authentication-failure-url="/login/error" 
       login-processing-url="/j_security_check"/> 

Tôi muốn có thể định cấu hình các url mục tiêu khác nhau cho các vai trò người dùng khác nhau. Làm thế nào để tôi làm điều này?

Cảm ơn!

Trả lời

0

Tôi không nghĩ rằng bạn có thể cấu hình này, nhưng bạn default-target-urldashboard thể chứa logic để chuyển hướng đến trang phù hợp dựa trên vai trò.

+0

có vẻ như có thể bằng cách triển khai tùy chỉnh bộ lọc xác thực - http://forum.springsource.org/showthread.php?t=93541 – hese

+0

@hese. Cảm ơn. 1 cho câu trả lời của bạn. Đã học được điều gì đó ngày hôm nay. – Raghuram

7

Nếu bạn đang sử dụng Spring-Security 3.0 hoặc cao hơn thực hiện của riêng bạn AuthenticationSuccessHandler là con đường để đi:

<sec:form-login ... authentication-success-handler-ref="successHandler"/> 
... 
<bean id="successHandler" class="de.....MySpecialAuthenticationSuccessHandler"> 

Sau đó MySpecialAuthenticationSuccessHandler có thể kéo dài một trong những các trình xử lý mặc định như SavedRequestAwareAuthenticationSuccessHandler mặc dù chúng không thực sự thân thiện với kế thừa.

Các vấn đề liên quan