security-constraint
web.xmlで (とりわけ) を定義することで、Web アプリケーションへのアクセスを制限できます。各 security-constraint は、1)<web-resource-collection>
制限されたリソースのセットを含むものと、2)<auth-constraint>
この制約で定義された web-resource-collection にアクセスできる許可されたユーザー (セキュリティ ロール) のセットを含むもので構成されます。
したがって、各制約で、a) 単一のリソース (アドレス) と許可されたユーザーのセットを定義するか、b) リソースのセット (アドレス) と単一の許可されたユーザーを定義することができると思います。
私は正しいですか?私のアプローチはどうあるべきか。
たとえば、次のような制約を定義しました。
<security-constraint>
<display-name>ConstraintAdminUser</display-name>
<web-resource-collection>
<web-resource-name>adminResources</web-resource-name>
<url-pattern>/protected/admin/*</url-pattern>
<url-pattern>/protected/main/*</url-pattern>
<url-pattern>/protected/user/*</url-pattern>
<url-pattern>/protected/lang/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>AdminUserRole</role-name>
</auth-constraint>
</security-constraint>
<security-constraint>
<display-name>ConstraintUserOnly</display-name>
<web-resource-collection>
<web-resource-name>userResources</web-resource-name>
<url-pattern>/protected/main/*</url-pattern>
<url-pattern>/protected/user/*</url-pattern>
<url-pattern>/protected/lang/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>UserOnlyRole</role-name>
</auth-constraint>
</security-constraint>
しかし、それが「正しい方法」であるかどうかはわかりません:)