def authenticate(self, environ, identity):
### Addition
print >>open('login_succ.txt', 'a'), "\n\nEnviron start ", environ, "\n\n"
### Addition end
login = identity['login']
user = self.sa_auth.dbsession.query(self.sa_auth.user_class).filter_by(
user_name=login
).first()
if not user:
login = None
elif not user.validate_password(identity['password']):
login = None
if login is None:
### Addition
environ['LOGIN_SUCC'] = 'false'
### Addition end
try:
from urllib.parse import parse_qs, urlencode
except ImportError:
from urlparse import parse_qs
from urllib import urlencode
from tg.exceptions import HTTPFound
params = parse_qs(environ['QUERY_STRING'])
params.pop('password', None) # Remove password in case it was there
if user is None:
params['failure'] = 'user-not-found'
else:
params['login'] = identity['login']
params['failure'] = 'invalid-password'
# When authentication fails send user to login page.
environ['repoze.who.application'] = HTTPFound(
location='?'.join(('%s/login' %(environ['SCRIPT_NAME']), urlencode(params, True)))
#location='?'.join(('/login', urlencode(params, True)))
)
### Addition
else:
environ['LOGIN_SUCC'] = 'true'
print >>open('login_succ.txt', 'a'), "\n\nEnviron end ", environ, "\n\n"
### Addition end
return login