tomcat (struts2 アプリケーション) で宣言型セキュリティを実装するために、次の変更を行いました。
tomcat-users.xml に以下を追加しました
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="Manager"/>
<user username="manager1" password ="password1" roles="Manager"/>
</tomcat-users>
私の web.xml で、次の変更を加えました
<security-role>
<role-name>Manager</role-name>
</security-role>
<login-config>
<auth-method>BASIC</auth-method>
</login-config>
<security-constraint>
<web-resource-collection>
<web-resource-name>MANAGER Access</web-resource-name>
<url-pattern>/manager/*</url-pattern>
<http-method>DELETE</http-method>
<http-method>PUT</http-method>
<http-method>HEAD</http-method>
<http-method>OPTIONS</http-method>
<http-method>TRACE</http-method>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>Manager</role-name>
</auth-constraint>
</security-constraint>
URL appcontextname/manager/something.action にアクセスすると、ユーザー名とパスワードの入力を求められます。詳細を入力すると、次のエラーが表示されます
HTTP ステータス 403 - 要求されたリソースへのアクセスが拒否されました