It took me a while because I was busy with other things but for the  
benefit of future generations, I'd like to confirm that this strategy  
works (with a tiny detail I will explain) and I have now an  
application that is able to authenticate through the container in  
Resin and Tomcat.

The only detail I had to modify is that wherever it reads:

return super.getPasswordDigest(...

it should read

return super.getPasswordDigest().getPasswordDigest(...

The reason being that the class that really performs the encrypting is  
not the authenticator itself but a utility class called PasswordDigest  
that can be accessed through getPasswordDigest(). The "weird" choice  
of names in this case (methods and class names "equal") is surely  
going to confuse people, as it did to me at the beginning.

Thanks again, Mattias.

S'està citant Daniel López <[EMAIL PROTECTED]>:

> Thanks Mattias,
> I had thought about the subclassing option, but I had to try to see if
> there was some configuration option I had missed :). In any case, that
> will work fine, I believe. I'll be out of town for a week but when I go
> back I'll give it a go and let you know how it worked.
> Thanks again,
> D.
> Mattias Jiderhamn escribió:
>> You could probably implement your own authenticator, possibly just
>> subclassing the JdbcAuthenticator (see below), then use that
>> authenticator in resin-web.xml.
>> I myself wrote a "patch" for a Tomcat only webapp, that contains this
>> plus dummy implementations of Tomcat classes/interfaces like
>> org.apache.catalina.Container, Engine, Host, Realm, Server.
>> Maybe this code suites your needs too:
>> public class MyJdbcAuthenticator extends JdbcAuthenticator {
>>   public MyJdbcAuthenticator() {
>>     super.setPasswordDigestRealm(null);
>>   }
>>   public String getPasswordDigest(HttpServletRequest request,
>> HttpServletResponse response, ServletContext app, String user, String
>> password) throws ServletException {
>>     return super.getPasswordDigest(request, response, app, null, password);
>>   }
>>   public String getPasswordDigest(String password) throws ServletException {
>>     return super.getPasswordDigest(null, null, null, null, password);
>>   }
>> }
>>  /Mattias


resin-interest mailing list

Reply via email to