2017-12-18 22 views
0

TomEE 또는 적어도 현재 작업중인 이전 응용 프로그램에서 사용되는 TomCat 7에 익숙해 지려고합니다.tomcat 7 web.xml 계층 구조 - 사용자 및 역할 - java servlet

tomcat 위치에는 web.xml이 있습니다. 내가 아는 한, 이것은 web.xml이없는 모든 서블릿에 사용되는 것입니다. 맞습니까? 아니면 이것도 자신의 Servlet에 사용됩니까?

이 구성 파일의 계층에 대해 확신하지 못합니다.

\ localhost : 8080 \ AB 과 같은 url로 할당 할 수있는 모듈에 대한 기본 인증 작업을 시도했습니다. \ localhost : 8080 \ manager에 대한 tomcat-users가 정상적으로 작동합니다. 그러나 \ 로컬 호스트에 대한 로그인을 얻을 수 없습니다

<security-role> 
<role-name>users</role-name> 
</security-role> 
<security-constraint> 
    <web-resource-collection> 
     <web-resource-name>basic demo resource</web-resource-name> 
     <url-pattern>\AB\*</url-pattern> 
    </web-resource-collection> 
    <auth-constraint> 
     <role-name>users</role-name> 
    </auth-constraint> 
</security-constraint> 
<login-config> 
    <auth-method>BASIC</auth-method> 
</login-config> 

그러나 여전히 로그인이 서블릿에 액세스 할 필요가 없습니다

: 8080 AB

\ 내가 좋아하는은 web.xml을 수정했습니다.

이 자바 프로젝트에는 또 다른 web.xml이 있으며, 위의 코드로 수정하려고 시도했습니다. 내가 잘못하고있는 것을 알고 있지만 지금 당장은 얻지 못한다.

역할 "users"는 tomcat-users.xml에서 만들어지며 사용자도 해당 그룹에 할당됩니다.

답변

0

보안 제한 조건이 아닌 역할 만 정의했습니다. 당신은 tomcat 사용자와 같은 역할을 정의해야합니다.

<tomcat-users> 
    <role rolename="AB"/> <!-- you have to define all roles --> 
    <user username="myname" password="mypassword" roles="AB"/> 
    <!-- you have to assign login and roles --> 
</tomcat-users> 
+0

tomcat 디렉토리에있는 tomcat-users.xml에 이미 역할과 사용자를 추가했습니다. 역할 "사용자"와이 역할의 사용자가 존재합니다. 또는 tomcat-users.xml에 정의하고 프로젝트에 포함 된 web.xml에서 역할에 액세스하려고하면 작동하지 않습니다. 이것이 태그가하는 일입니다. – flix

0

tomcat 디렉토리의 web.xml에는 기본 설정이 들어 있습니다. webapp는 자체 web.xml에서 정의를 재정의 할 수 있습니다. 에 액세스하려면

/AB는 당신이 필요로 :

  • 는 FORWARD를 사용하는 것은 슬래시 : <url-pattern>/AB/*</url-pattern>
  • 가 로그인에 사용자 이름과 암호를 입력하여 사용자 데이터베이스에 역할 users을 가진 사용자를 가지고 팝업 대화 상자.
+0

좋습니다, 슬래시로 URL을 수정하십시오. 이것은 로그인 프롬프트를 얻기에 충분해야합니다. 맞습니까? 물론, 역할과 사용자가 정해지지 만 로그인 프롬프트가 나타나야 만 작동합니다. 그리고 지금은 그렇지 않습니다. 사용자 DB에있는 사용자를 어떻게 얻습니까? tomcat 디렉토리에서 tomcat-users.xml을 사용하면? – flix

+0

어떤 유형의 영역을 사용하고 있습니까? –

+0

그것에 대해 아무 것도 정의하지 않았습니다. server.xml의 영역이 기본값 인 것 같습니다. – flix