X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=PLC%2FAuth.py;h=498acc56768e2c17d030bd2499b9bd98e9f79c1f;hb=refs%2Fheads%2Fplanetlab-4_0-branch;hp=c21ec8ce10e25e4367e44048f267f68f1ef34c90;hpb=49e875c7e14b95697e3d0c7502d8457d3ce6378c;p=plcapi.git diff --git a/PLC/Auth.py b/PLC/Auth.py index c21ec8c..498acc5 100644 --- a/PLC/Auth.py +++ b/PLC/Auth.py @@ -4,7 +4,7 @@ # Mark Huang # Copyright (C) 2006 The Trustees of Princeton University # -# $Id: Auth.py,v 1.14 2007/01/31 22:41:00 mlhuang Exp $ +# $Id: Auth.py 5574 2007-10-25 20:33:17Z thierry $ # import crypt @@ -16,6 +16,7 @@ from PLC.Faults import * from PLC.Parameter import Parameter, Mixed from PLC.Persons import Persons from PLC.Nodes import Node, Nodes +from PLC.NodeNetworks import NodeNetwork, NodeNetworks from PLC.Sessions import Session, Sessions from PLC.Peers import Peer, Peers from PLC.Boot import notify_owners @@ -146,7 +147,7 @@ class SessionAuth(Auth): person = persons[0] if not set(person['roles']).intersection(method.roles): - raise PLCAuthenticationFailure, "Not allowed to call method" + raise PLCPermissionDenied, "Not allowed to call method" method.caller = persons[0] @@ -295,7 +296,7 @@ class PasswordAuth(Auth): assert auth.has_key('Username') # Get record (must be enabled) - persons = Persons(method.api, {'email': auth['Username'], 'enabled': True, 'peer_id': None}) + persons = Persons(method.api, {'email': auth['Username'].lower(), 'enabled': True, 'peer_id': None}) if len(persons) != 1: raise PLCAuthenticationFailure, "No such account" @@ -326,6 +327,6 @@ class PasswordAuth(Auth): raise PLCAuthenticationFailure, "Password verification failed" if not set(person['roles']).intersection(method.roles): - raise PLCAuthenticationFailure, "Not allowed to call method" + raise PLCAuthenticationFailure, "Not allowed to call method" method.caller = person