6.2. Jakarta Enterprise Beans 방법 권한
6.2.1. Jakarta Enterprise Bean 방식 권한 정보
Jakarta Enterprise Bean은 자신의 방법에 대한 액세스를 특정 보안 역할로 제한할 수 있습니다.
Jakarta Enterprise Beans <method-permission>
요소 선언은 Jakarta Enterprise Beans의 인터페이스 메서드를 호출할 수 있는 역할을 지정합니다. 다음 조합에 대한 권한을 지정할 수 있습니다.
- 명명된 Jakarta Enterprise Bean의 모든 홈 및 구성 요소 인터페이스 방법
- 명명 된 Jakarta Enterprise Beans의 홈 또는 구성 요소 인터페이스의 지정된 방법
- 이름이 과부하된 메서드 세트 내에 지정된 방법
6.2.2. Jakarta Enterprise Beans 방식 사용 권한
<method-permission>
요소는 <method> 요소에서
정의한 Jakarta Enterprise Beans 메서드에 액세스할 수 있는 논리 역할을 정의합니다. xml의 구문을 보여주는 몇 가지 예는 다음과 같습니다. 여러 메서드 권한 문이 존재할 수 있으며 누적 효과가 있습니다. <method-permission>
요소는 <
요소의 자식입니다.
ejb-jar> 설명자의 <assembly-descriptor
>
XML 구문은 Jakarta Enterprise Beans 메서드 권한에 대한 주석을 사용하는 대신 사용됩니다.
예제: 자카르타 엔터프라이즈 빈의 모든 메서드에 액세스할 수 있도록 허용
<method-permission> <description>The employee and temp-employee roles may access any method of the EmployeeService bean </description> <role-name>employee</role-name> <role-name>temp-employee</role-name> <method> <ejb-name>EmployeeService</ejb-name> <method-name>*</method-name> </method> </method-permission>
예제: Jakarta Enterprise Bean 및 Limit Method Parameters의 특정 메서드에 액세스할 수 있도록 허용
<method-permission> <description>The employee role may access the findByPrimaryKey, getEmployeeInfo, and the updateEmployeeInfo(String) method of the AcmePayroll bean </description> <role-name>employee</role-name> <method> <ejb-name>AcmePayroll</ejb-name> <method-name>findByPrimaryKey</method-name> </method> <method> <ejb-name>AcmePayroll</ejb-name> <method-name>getEmployeeInfo</method-name> </method> <method> <ejb-name>AcmePayroll</ejb-name> <method-name>updateEmployeeInfo</method-name> <method-params> <method-param>java.lang.String</method-param> </method-params> </method> </method-permission>
예제: 인증된 사용자가 Jakarta Enterprise Bean의 메서드에 액세스할 수 있도록 허용
<unchecked/>
요소를 사용하면 인증된 사용자가 지정된 방법을 사용할 수 있습니다.
<method-permission> <description>Any authenticated user may access any method of the EmployeeServiceHelp bean</description> <unchecked/> <method> <ejb-name>EmployeeServiceHelp</ejb-name> <method-name>*</method-name> </method> </method-permission>
예제: 특정 자카르타 엔터프라이즈 빈 방식 제외
<exclude-list> <description>No fireTheCTO methods of the EmployeeFiring bean may be used in this deployment</description> <method> <ejb-name>EmployeeFiring</ejb-name> <method-name>fireTheCTO</method-name> </method> </exclude-list>
예제: 전체 <assembly-descriptor>
여러 <method-permission>
블록 포함
<ejb-jar> <assembly-descriptor> <method-permission> <description>The employee and temp-employee roles may access any method of the EmployeeService bean </description> <role-name>employee</role-name> <role-name>temp-employee</role-name> <method> <ejb-name>EmployeeService</ejb-name> <method-name>*</method-name> </method> </method-permission> <method-permission> <description>The employee role may access the findByPrimaryKey, getEmployeeInfo, and the updateEmployeeInfo(String) method of the AcmePayroll bean </description> <role-name>employee</role-name> <method> <ejb-name>AcmePayroll</ejb-name> <method-name>findByPrimaryKey</method-name> </method> <method> <ejb-name>AcmePayroll</ejb-name> <method-name>getEmployeeInfo</method-name> </method> <method> <ejb-name>AcmePayroll</ejb-name> <method-name>updateEmployeeInfo</method-name> <method-params> <method-param>java.lang.String</method-param> </method-params> </method> </method-permission> <method-permission> <description>The admin role may access any method of the EmployeeServiceAdmin bean </description> <role-name>admin</role-name> <method> <ejb-name>EmployeeServiceAdmin</ejb-name> <method-name>*</method-name> </method> </method-permission> <method-permission> <description>Any authenticated user may access any method of the EmployeeServiceHelp bean</description> <unchecked/> <method> <ejb-name>EmployeeServiceHelp</ejb-name> <method-name>*</method-name> </method> </method-permission> <exclude-list> <description>No fireTheCTO methods of the EmployeeFiring bean may be used in this deployment</description> <method> <ejb-name>EmployeeFiring</ejb-name> <method-name>fireTheCTO</method-name> </method> </exclude-list> </assembly-descriptor> </ejb-jar>