WEB-INF/web.xml
<web-app> <display-name>login-xml</display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> <welcome-file>index.html</welcome-file> </welcome-file-list> <!-- this is the jsp that a 'login' link uses --> <security-constraint> <web-resource-collection> <web-resource-name>Home</web-resource-name> <url-pattern>/home.jsp</url-pattern> </web-resource-collection> <auth-constraint> <!-- '*' for a <role-name> means "authenticated user with any role" The user must be logged in with some kind of role to access the home page. --> <role-name>*</role-name> </auth-constraint> </security-constraint> <security-constraint> <web-resource-collection> <web-resource-name>Professors</web-resource-name> <url-pattern>/professors/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>professor</role-name> </auth-constraint> </security-constraint> <security-constraint> <web-resource-collection> <web-resource-name>Students</web-resource-name> <url-pattern>/students/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>student</role-name> <role-name>professor</role-name> </auth-constraint> </security-constraint> <security-constraint> <web-resource-collection> <web-resource-name>Staff</web-resource-name> <url-pattern>/staff/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>staff</role-name> <role-name>professor</role-name> </auth-constraint> </security-constraint> <login-config> <auth-method>form</auth-method> <form-login-config> <form-login-page>/login.jsp</form-login-page> <form-error-page>/login.jsp?login_error=1</form-error-page> </form-login-config> </login-config> <!-- Resin-specific XmlAuthenticator configuration --> <authenticator> <type>com.caucho.server.security.XmlAuthenticator</type> <init> <!-- Optionally put user information here. --> <user>pince:Txpd1jQc/xwhISIqodEjfw==:staff,website</user> <user>filch:KmZIq2RKXAHV4BaoNHfupQ==:staff</user> <!-- You can also use an external file --> <path>WEB-INF/password.xml</path> </init> </authenticator> <security-role> <role-name>professor</role-name> </security-role> <security-role> <role-name>student</role-name> </security-role> <security-role> <role-name>staff</role-name> </security-role> <security-role> <description>member of the slytherin house</description> <role-name>slytherin</role-name> </security-role> <security-role> <description>member of the gryffindor house</description> <role-name>gryffindor</role-name> </security-role> <security-role> <description>member of the ravenclaw house</description> <role-name>ravenclaw</role-name> </security-role> <security-role> <description>member of the hufflepuff house</description> <role-name>hufflepuff</role-name> </security-role> <security-role> <description>website administrator</description> <role-name>website</role-name> </security-role> </web-app>