解答例 - 実習課題5 - 11.認証方式
(実習課題5)
実習課題2のWebアプリケーションを、CLIENT-CERT認証を行うように改良しなさい。
またブラウザにユーザの証明書をもう1つ登録し、その証明書では制限されていない部分にはアクセスできるが、制限されている部分にはアクセスできないことを確認しなさい。
解答例
<?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <servlet> <servlet-name>Clock</servlet-name> <jsp-file>/jsp/clock.jsp</jsp-file> </servlet> <servlet-mapping> <servlet-name>Clock</servlet-name> <url-pattern>/servlet10-1</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>Clock</servlet-name> <url-pattern>/admin/servlet10-1</url-pattern> </servlet-mapping> <security-constraint> <web-resource-collection> <web-resource-name>all jsp-file</web-resource-name> <url-pattern>*.jsp</url-pattern> </web-resource-collection> <auth-constraint> </auth-constraint> </security-constraint> <security-constraint> <web-resource-collection> <web-resource-name>admin page</web-resource-name> <url-pattern>/admin/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>admin</role-name> </auth-constraint> <user-data-constraint> <transport-guarantee>NONE</transport-guarantee> </user-data-constraint> </security-constraint> <login-config> <auth-config>CLIENT-CERT</auth-config> </login-config> <security-role> <role-name>admin</role-name> </security-role> <security-role> <role-name>user</role-name> </security-role> </web-app>
<?xml version="1.0" ?> <tomcat-users> <role rolename="admin"/> <role rolename="user"/> <user username="CN=Mitoma, OU=developing, O=4dd, ST=Kyoto, C=JP" password="tomcat" roles="admin"/> </tomcat-users>