Tres Seaver wrote: > Robert (Jamie) Munro wrote: >>> How do you use md5 passwords in PAS? >>> >>> I've got an SQL database already populated with usernames and md5 >>> passwords from an old system that I am replacing - I don't have the >>> cleartext passwords. > > You write an authentication plugin which takes the credentials as keys > in a dict (e.g., 'login_name', 'password'), encrypts the password using > the same algorithm as your old system, and then compares them. E.g., > (untested):: > > import md5 > PASSWORD_TEST_SQL = ("select * from users where login_name = '%s' " > "and encrypted_pw = '%s'") > def authenticateCredentials(self, credentials): > login = credentials['login'] > clear = credentials['password'] > encrypted = md5.new(clear).hexdigest() # or whatever > matched = self._execSQL(PASSWORD_TEST_SQL % (login, encrypted)) > if matched: > return matched[0]['userid'], login > return {}
I've edited GMailAuthPlugin, renamed it MD5AuthPlugin, added that code and removed the google specific code. It doesn't give any errors, but it also doesn't let me log in. I've tried adding a line to log things, but that doesn't seem to be working either. LOG("MD5AuthPlugin", INFO, "Login attempt: login: %s, clear: %s, encrypted: %s" % (login,clear,encrypted)) Any ideas? Thanks, Robert (Jamie) Munro _______________________________________________ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )