2012-12-25 4 views
0

내 Java 기반 웹 응용 프로그램 사용자는 응용 프로그램에 자신의 URL을 추가하려고합니다. 나는 데이터베이스에서 미리 정의 된 URL뿐만 아니라 사용자를 선택하는 스프링 보안을 사용했다. 사용자가 새 URL을 추가하고 자신의 URL (보안 된 URL 목록에 없음)을 허용하려는 경우 해당 URL을 DB에 넣고 응용 프로그램을 다시 시작해야 사용자가 로그인하고 그 URL에 액세스 할 수 있습니다 . 사용자가 런타임에이 URL을 제공하고 로그 아웃하고 로그인하기를 원합니다. 스프링 보안이 해당 URL을 인증해야합니다.응용 프로그램을 다시 시작하지 않고 런타임에 스프링 보안에 URL을 추가하십시오.

답변

1

동적으로 업데이트 할 수있는 DefaultFilterInvocationSecurityMetadataSource -- Requestmap 테이블을 구현하는 도메인 클래스에 URL 및 권한 규칙을 저장하십시오.

+0

그러나 응용 프로그램이 배포 될 때 DefaultFilterInvocationSecurityMetadataSource의 Bean이 만들어집니다. DB로부터 모든 URL을 가져올 것입니다. 응용 프로그램이 작동하고 사용자가 새 URL을 추가하려고 할 때 bean에서 DefaultFilterInvocationSecurityMetadataSource의 객체에 해당 URL을 추가 할 수 있습니까? 내 정보대로. 우리는 종속 Bean을 가질 수 있기 때문에 배치 된 bean 정의를 수정해서는 안됩니다. –

+0

도메인 클래스를 정의 할 수 있습니다. 다음은 이러한 규칙을 유지하는 방법에 대한 세부 정보입니다. http://stackoverflow.com/questions/6893061/how-to-dynamically-decide-intercept-url-access-attribute-value-in-spring-secur – coderLMN

관련 문제