background image

Using Deployment Descriptor Elements

<< Specifying Security Roles Using Annotations | Mapping Security Roles >>
<< Specifying Security Roles Using Annotations | Mapping Security Roles >>

Using Deployment Descriptor Elements

Specifying Security Roles Using Deployment Descriptor Elements
The following snippet of a deployment descriptor is taken from the simple sample application.
This snippet includes all of the elements needed to specify security roles using deployment
descriptors:
<servlet>
...
<security-role-ref>
<role-name>MGR</role-name>
<!-- role name used in code -->
<role-link>employee</role-link>
</security-role-ref>
</servlet>
<security-constraint>
<web-resource-collection>
<web-resource-name>Protected Area</web-resource-name>
<url-pattern>/jsp/security/protected/*</url-pattern>
<http-method>PUT</http-method>
<http-method>DELETE</http-method>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>role1</role-name>
<role-name>employee</role-name>
</auth-constraint>
</security-constraint>
<!-- Security roles referenced by this web application -->
<security-role>
<role-name>role1</role-name>
</security-role>
<security-role>
<role-name>employee</role-name>
</security-role>
In this example, the security-role element lists all of the security roles used in the application:
role1
and employee. This enables the deployer to map all of the roles defined in the application
to users and groups defined on the Application Server.
The auth-constraint element specifies the roles (role1, employee) that can access HTTP
methods (PUT, DELETE, GET, POST) located in the directory specified by the url-pattern element
(/jsp/security/protected/*). You could also have used the @DeclareRoles annotation in
the source code to accomplish this task.
The security-role-ref element is used when an application uses the
HttpServletRequest.isUserInRole(String role)
method. The value of the role-name
Working with Security Roles
Chapter 30 · Securing Web Applications
843