Mercurial > public > src > rhodecode
comparison pylons_app/lib/auth.py @ 197:da59b7e07e3c
Changed import to base. Removed action logging from auth to simplehg.
Splited loggin and invalidation action to private methods inside simplehg.
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Sat, 22 May 2010 19:29:50 +0200 |
parents | 3d1dd13887f9 |
children | 78e406a4c58e |
comparison
equal
deleted
inserted
replaced
196:568f95056716 | 197:da59b7e07e3c |
---|---|
2 from decorator import decorator | 2 from decorator import decorator |
3 from functools import wraps | 3 from functools import wraps |
4 from pylons import session, url | 4 from pylons import session, url |
5 from pylons.controllers.util import abort, redirect | 5 from pylons.controllers.util import abort, redirect |
6 from pylons_app.model import meta | 6 from pylons_app.model import meta |
7 from pylons_app.model.db import Users, UserLogs | 7 from pylons_app.model.db import Users |
8 from sqlalchemy.exc import OperationalError | 8 from sqlalchemy.exc import OperationalError |
9 from sqlalchemy.orm.exc import NoResultFound, MultipleResultsFound | 9 from sqlalchemy.orm.exc import NoResultFound, MultipleResultsFound |
10 import crypt | 10 import crypt |
11 import logging | 11 import logging |
12 log = logging.getLogger(__name__) | 12 log = logging.getLogger(__name__) |
29 | 29 |
30 if user: | 30 if user: |
31 if user.active: | 31 if user.active: |
32 if user.username == username and user.password == password_crypt: | 32 if user.username == username and user.password == password_crypt: |
33 log.info('user %s authenticated correctly', username) | 33 log.info('user %s authenticated correctly', username) |
34 if environ: | |
35 http_accept = environ.get('HTTP_ACCEPT') | |
36 | |
37 if http_accept.startswith('application/mercurial') or \ | |
38 environ['PATH_INFO'].find('raw-file') != -1: | |
39 repo = environ['PATH_INFO'] | |
40 for qry in environ['QUERY_STRING'].split('&'): | |
41 if qry.startswith('cmd'): | |
42 | |
43 try: | |
44 user_log = UserLogs() | |
45 user_log.user_id = user.user_id | |
46 user_log.action = qry | |
47 user_log.repository = repo | |
48 user_log.action_date = datetime.now() | |
49 sa.add(user_log) | |
50 sa.commit() | |
51 log.info('Adding user %s, action %s', username, qry) | |
52 except Exception as e: | |
53 sa.rollback() | |
54 log.error(e) | |
55 | |
56 return True | 34 return True |
57 else: | 35 else: |
58 log.error('user %s is disabled', username) | 36 log.error('user %s is disabled', username) |
59 | 37 |
60 return False | 38 return False |