2009-09-29 9 views
1

양식을 사용하고 입력란의 유효성을 확인하고 다른 페이지로 리디렉션하는 등의 사이트가 있습니다. 그러나 어떤 사용자가 URL을 사용하여 페이지에 직접 액세스하지 못하게하고 로그인으로 리디렉션되는 방법을 알아야합니다. 양식 ...JSP로 URL 액세스 제한

본 적이 있지만 전화하는 법을 모르겠습니다. : S

저는 세션 변수가 있다고 생각합니다. 세션 변수를 제한하고 싶은 페이지의 맨 위에있는 세션 변수를 확인해야합니다.

저는 웹 사이트 구축에 JSP를 사용하고 있습니다.

답변

3

배포 설명자의 보안 제약 조건을 사용하여 선언적으로이 작업을 수행 할 수 있습니다. 다음과 같이 본질적으로

, 당신은 '자원의 세트가 HTTP 메소드 주어진 세트를 사용하여 규칙의 주어진 세트의 사용자 만 액세스 할 수 있습니다'라고 :

URL이/보안/* 만 액세스 할 수있는 자원 뒤에

'admin'역할의 인증 된 사용자에게 전달합니다.

<web-app...> 
    <security-constraint> 

    <web-resource-collection> 
     <web-resource-name>secured</web-resource-name> 
     <description>Secured pages</description> 
     <url-pattern>/secured/*</url-pattern> 
     <http-method>POST</http-method> 
     <http-method>GET</http-method> 
    </web-resource-collection> 

    <auth-constraint> 
     <description>Administrative users</description> 
     <role-name>admin</role-name> 
    </auth-constraint> 

    </security-constraint> 

</web-app> 

그것은

몇 가지 설정이 필요합니다 - 보안 영역 등, 로그인 폼 구성을하지만, 보안 설정이 프로그래밍 수행하지 않고는 도구 지원, 그리고 추상화 된 선언적 방식을 의미한다. 이렇게하면 코드를 깨끗하게 유지할 수 있습니다.

여기는 Sun Educational material for Java EE 5의 관련 부분입니다. 그것은 상대적으로 복잡하고 잠재적으로 매우 중요한 주제이므로 자료를 잘 읽으시기 바랍니다.

2

Java EE 자습서의 섹션은 securing web applications입니다.

웹 앱 설명자 (web.xml)에서 보안 제약 조건을 선언 할 수 있습니다. Here은 특정 URL을 보호하는 방법의 예입니다.

+0

소리가 좋습니다 .. 빠른 응답을위한 thaks .. – Nave

2

또는 모든 요청을 포착하고 적절한 경로로 적절한 경로로 전달하는 필터를 사용할 수 있습니다. 보안 제약보다 많은 작업이 필요하지만 처리에 대한 제어력은 더 커질 수 있습니다.

보안 제한 조건을 사용하는 것은 확실히 좋은 해결책입니다.