Resin でアクセス制限
昨日に引続き Example を読んで勉強。
web.xml はこんな感じ。
<web-app>
<login-config auth-method='form'>
<form-login-config form-login-page='/login.jsp'
form-error-page='/error.html'/>
<authenticator id='take.TakeAuthenticator'/>
</login-config>
<security-constraint url-pattern='/protected.jsp' role-name='user'/>
<security-constraint url-pattern='/protected.xtp' role-name='user'/>
<security-constraint url-pattern='/protected.html' role-name='user'/>
</web-app>
コレはまんまサンプルなのだが,security-constraint の url-pattern で指定したページへのアクセスが authenticator で指定するクラス (これが extends AbstractAuthenticator なんだな) の許可を得てからじゃないとダメ…,という仕掛けなのかな?
take.TakeAuthenticator#authenticate(String user, String password) を好きに書けばいいのかな? という感じ。
ユーザのパスワードは生で保存したくないので MD5 ハッシュにしようかな? こんな感じでイケるのかな?
private boolean checkPassword(String user, String password) {
byte[] digest
= MessageDigest.getInstance("MD5").digest(password.getBytes());
早く動く状態に持っていきたい。