Tôi có một ứng dụng khởi động mùa xuân với WebSecurityConfigurerAdapter cấu hình như thế này -mùa xuân khởi động - đối tượng người dùng quay trở lại sau khi đăng nhập
http.csrf().disable()
.exceptionHandling()
.authenticationEntryPoint(restAuthenticationEntryPoint)
.and()
.authorizeRequests()
.antMatchers("/user/*", "/habbit/*").authenticated()
.and()
.formLogin()
.loginProcessingUrl("/login")
.permitAll()
.usernameParameter("email")
.passwordParameter("pass")
.successHandler(authenticationSuccessHandler)
.failureHandler(new SimpleUrlAuthenticationFailureHandler())
.and()
.logout()
.logoutUrl("/logout")
.invalidateHttpSession(true);
Tôi có thể thêm một cái gì đó giống như điều khiển của riêng tôi mà sẽ, sau khi xác thực thành công, trở về một phong tục đối tượng với một số chi tiết về người dùng đã được xác thực?
Cập nhật: Để rõ ràng, tôi đang sử dụng ứng dụng góc như ứng dụng khách. Hiện tại, tôi cần thực hiện 2 yêu cầu để gửi khách hàng của tôi tới máy chủ: 1. Yêu cầu POST tới/URL đăng nhập để xác thực. 2. Nhận yêu cầu truy xuất dữ liệu người dùng đã được xác thực.
Mục tiêu của tôi là yêu cầu 1 trở lại thông tin người dùng của tôi vì vậy tôi không phải thực hiện yêu cầu 2dn. Hiện tại, yêu cầu thứ nhất chỉ xác thực người dùng, tạo phiên trên máy chủ và gửi lại phản hồi trạng thái '200 OK' với không có dữ liệu. Tôi muốn nó trả về phản hồi thành công với dữ liệu về người dùng đã đăng nhập.
trả lời:
Câu trả lời đúng là trong ý kiến vì vậy tôi sẽ viết nó ở đây: tôi cần phải chuyển hướng từ successHandler của tôi để điều khiển của tôi mà lần lượt trả về hiện đang đăng nhập thông tin người dùng (trong trường hợp của tôi điều khiển là trong url '/ user/tôi':
@Override
public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response,
Authentication authentication) throws ServletException, IOException {
clearAuthenticationAttributes(request);
getRedirectStrategy().sendRedirect(request, response, "/user/me");
}
Bạn có cần người sử dụng trong khi xử lý một số yêu cầu trong tương lai, hay bạn cần một "sự kiện" ngay tại đăng nhập? (Cả hai đều được hỗ trợ bởi spring (security) nhưng nó hoạt động theo những cách hoàn toàn khác nhau) - cho cái đầu tiên, hãy xem câu hỏi này: http://stackoverflow.com/q/8764545/280244, cho cái thứ hai có một cái nhìn tại câu hỏi này http://stackoverflow.com/questions/15493237/how-to-correctly-update-the-login-date-time-after-successful-login-with-spring-s – Ralph
Tôi có một front-end góc và sau khi yêu cầu POST xác thực thành công, tôi muốn có một số chi tiết người dùng trong phản hồi, để hiển thị chúng trong trang web của tôi. – Tomas
Hãy cho tôi biết: Làm cách nào bạn quản lý đăng nhập trên yêu cầu POST? –