Tomcat にデプロイする Web アプリケーションがあります。URL パスAdministration/*の下にあるすべてのページを保護したいと考えています。
web.xml ファイルに次のスニペットを入力して、コンテナー管理のセキュリティを設定しました。
<security-role>
<role-name>administrator</role-name>
</security-role>
<login-config>
<auth-method>BASIC</auth-method>
</login-config>
<security-constraint>
<web-resource-collection>
<web-resource-name>AdministrationPanel</web-resource-name>
<url-pattern>/administration/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>administrator</role-name>
<role-name>member</role-name>
</auth-constraint>
</security-constraint>
そして $CATALINA_HOME/conf/tomcat-users.xml に私は持っています
<user username="userA" password="userA" roles="administrator"/>
すべてが正常に機能しています。ログイン ボックスが表示され、自分自身を userA として認証できます。
ただし、Web アプリケーションを使用して新しいユーザーを直接保存したり、ユーザーのパスワードを変更したりできるようにしたいと考えています。
ユーザー、パスワード、およびロールを他の方法で取得するようにTomcatに指示することは可能ですか? たとえば、データベースからそれらを取得するクラス。