2014-02-19 7 views
0

스프링 웹 응용 프로그램에서 특정 URL에 대한 액세스를 차단하고 싶습니다. 나는 약간의 조사를했고, "우두머리"를 가로 질러왔다. 나는 그들을 사용하는 방법을 모르겠다. 어떤 도움을 주시면 감사하겠습니다. 미리 감사드립니다. 나는 즉시 생각할 수있는이 작업을 수행 할 수있는 가장 간단한 방법의특정 URL에 대한 액세스 거부

+0

앱에서 봄 보안을 사용하는 -이 문서에서 촬영

또한 오히려 XML에 비해 동일한 사용하여 코드 설정을 달성하는 방법을 보여줍니다? – rhinds

+0

@rhinds 나는 스프링 보안을 사용하고있다 – Esseme

답변

0

하나는 차단 된 URL의 미리 정의 된 목록을 가지고 AbstractAuthenticationProcessingFilter의 구현의 오버라이드 (override) requiresAuthentication() 방법이 목록에 대한 요청의 URL을 확인하는 것입니다 .

@Override  
protected boolean requiresAuthentication(final HttpServletRequest request, final HttpServletResponse response) { 
     List<String> blockedUrls = new Arraylist<>(); 
     list.add("/foo/"); 
     if(blockedUrls.contains(request.getRequestURI())) { 
      // go to blocked error page 
     } else { 
      // process the request normally 
     } 
    } 

Shishir

0

은 어떻게 봄 보안 를 구성? 우리에게 코드/xml을 보여줄 수 있습니까?

webapp로 스프링 보안을 설정했다고 가정하면 URL을 쉽게 제한 할 수 있습니다 (역할 기반 제한 포함).

<http auto-config="true" use-expressions="true"> 
    <intercept-url pattern="/restricted/**" access="isAuthenticated()" /> 
    <intercept-url pattern="/**" access="permitAll" /> 
    <form-login login-processing-url="/loginProcess" 
       login-page="/" 
       authentication-failure-url="/?loginFailure=true"/> 
    <logout logout-url="/static/j_spring_security_logout"/> 
</http> 

절편-URL 요소는 URL 패턴을 정의하고 사람/모두가 그 패턴에 액세스 할 수 있는지 여부. Spring은 맨 위에서 일치하므로 가장 구체적인 인증은 목록 맨 위에 있어야합니다. 또한 위의 예에서 마지막 항목이 모든 URL과 일치하므로 다른 URL 패턴에 지정되지 않은 항목이 열려 있다는 의미입니다. http://automateddeveloper.blogspot.co.uk/2014/02/spring-4-xml-to-annotation-configuration.html

+0

나는 이것을 설정했다. 내 안드로이드 응용 프로그램에서이 URL을 사용합니다. 스프링 보안이 액세스를 거부하는 데 사용된다면 액세스하려면 모바일 측에서 추가 작업을해야합니까? 나는 어떻게 이것에 관해 가야 하느냐? 감사합니다. – Esseme

+0

모바일 응용 프로그램에서만 일부 URL을 사용할 수 있습니까? – rhinds

+0

예 모바일 응용 프로그램에서만 일부 URL을 사용할 수 있습니다. – Esseme

관련 문제