스프링으로 보호 된 URL이 있습니다 (xml을 통해 구성). 그것은 작동합니다. 그러나 AJAX 요청으로 해당 끝점에 도달하려고하면 302 (발견 된) 응답이 표시됩니다. 이것은 내 아약스 호출을 로그인 페이지로 리다이렉션한다 (그래서 나는 HTML을 얻는다). 그러나 클라이언트 응용 프로그램에서 사용할 수있는 로그인 페이지의 URL을 사용하여 401 (인증되지 않은) 응답을 받고 싶습니다. 그래서 사용자를 자바 스크립트로 리디렉션 할 수 있습니다. This question은 내가 원한 것과 가장 가까운 것으로 보이지만 예제가없고 컨트롤러를 다시 변경하는 것이 좋습니다. 저에게 스프링 보안에 401과 URL (또는 다른 유감스러운 오류 메시지와 로그인 페이지의 URL)을 줄 구성이 없습니까?로그인 페이지가있는 곳의 아약스 요청에 스프링 보안을 사용합니다.
답변
LoginUrlAuthenticationEntryPoint를 확장 할 수 있습니다. 여기 내 하나
<beans:bean id="authEntryPoint" class="hu.progos.springutils.AjaxAwareLoginUrlAuthenticationEntryPoint" scope="singleton>
<beans:property name="loginFormUrl" value="/login.html" />
</beans:bean>
<http entry-point-ref="authEntryPoint">
<!-- your settings here -->
</http>
고마워. 이것은 올바른 해결책 인 것처럼 보입니다. 우리는 더 이상 아약스를 사용하지 않기 때문에 이것을 필요로하지 않을 것입니다. – Josh
이것은 필터를 사용하여 모든 요청을 검사하는 것보다 훨씬 훌륭한 해결책입니다. 고마워. –
물론이 작업을 수행하는 방법은 백만 가지입니다.
<security:http auto-config="false" entry-point-ref="customAuthEntryPoint">
...
...
</security:http>
: 나는 또한 내가 너무 같은 위의 엔트리 포인트를 매핑 할 수 있습니다 더 조치를 취할 및 보안 자동 구성을 해제
<bean id="customAuthEntryPoint" class="org.springframework.security.web.authentication.LoginUrlAuthenticationEntryPoint">
<property name="loginFormUrl" value="/your-custom-login" />
</bean>
:하지만 당신의 문제에 대한 간단한 솔루션이 구성 조각입니다
또한 보안 모델이 원하는대로 정확하게 수행되도록 봄 보안 클래스를 재정의합니다. 미끄러운 슬로프이지만 일단 원하는대로 작동하면 컨트롤이 잘됩니다.
은 '
- 1. Grails는 SecurityFilters에서 스프링 보안을 사용합니다.
- 2. 스프링 보안을 사용한 간단한 로그인
- 3. 스프링 보안을 사용하는 페이지의 로그인 상자
- 4. 스프링 보안을 이용한 RSS 인증
- 5. 스프링 보안을 사용하는 j_security_check
- 6. 스프링 보안을 사용하는 동안 모바일 및 데스크톱의 다른 로그인 페이지
- 7. 어떻게 스프링 보안을 사용하는 동안 로그인 할 수 있습니까?
- 8. 스프링 보안을 사용하여 로그인 폼에 사용자 이름을 유지하는 방법
- 9. 스프링 보안을 사용하는 모든 URL에 대한 사용자 로그인 확인
- 10. 스프링 보안을 사용하여 로그인 페이지의 쿼리 문자열에 url 반환을 추가하십시오.
- 11. 성공한 로그인 후 스프링 보안을 사용하는 다른 GWT 모듈로 이동
- 12. 스프링 + Appengine은 스프링 보안을 사용할 수 있습니까?
- 13. 아약스 요청에 객체 전달하기
- 14. DynamicMappingFilter 및 오류 페이지가있는 많은 중첩 요청에
- 15. 스프링 보안을 사용하는 사전 인증/싱글 사인온
- 16. 다중 로그인 페이지가있는 폼 인증
- 17. 스프링 보안, 스프링 MVC 및 로그인 세션
- 18. 스프링 보안을 사용하는 IP 필터
- 19. 스프링 보안을 얻는 Java 모듈
- 20. 스프링 보안을 이용한 보안 메소드
- 21. CAS + 스프링 보안을 사용하여 SSO 구현
- 22. 스프링 보안 로그인 문제
- 23. 스프링 보안을 사용할 때 요청 객체에 액세스
- 24. SSO에서 스프링 3의 보안을 어떻게 활용합니까?
- 25. 스프링 보안이있는 자동 로그인
- 26. 스프링 보안을 사용하는 익명 사용자 수
- 27. CakePHP는 2.0 아약스 로그인
- 28. 스프링 보안 최대 로그인 세션
- 29. 사용자 생성 후 스프링 보안 로그인 자동으로
- 30. 사용자 정의 PHPBB 로그인 페이지가있는 보안 문자
당신이 로그인하지 않은 경우 * 응용 프로그램의 모든 * URL은 401을 반환하려면, 또는 당신을합니까 :
그런 다음 구현을 사용하는 스프링을 구성 일부 * URL (AJAX 전용)을 사용하여 401을 반환 하시겠습니까? – gutch