1 votes

Autorisation dans le mod_wsgi

J'ai la configuration suivante,

WSGIScriptAlias /i C:/Project/Scripts/hello.wsgi
WSGIScriptAlias /hello C:/Project/Scripts/hello.wsgi

<Directory "C:/Project/Scripts">
 Order deny,allow
 Allow from all
</Directory>

<Location /i>
 AuthType Basic
 AuthName "Top Secret"
 AuthBasicProvider wsgi
 WSGIAuthUserScript C:/Project/Scripts/authn.wsgi
 WSGIAccessScript C:/Project/Scripts/auths.wsgi
 Require valid-user
</Location>

<Location /hello>
 AuthType Basic
 AuthName "Top Secret"
 AuthBasicProvider wsgi
 WSGIAuthUserScript C:/Project/Scripts/authn.wsgi
 Require valid-user
</Location>

authn

def check_password(environ, user, password):
 if user == 'admin' or user == 'spy':
  if password == 'secret':
   return True
  return False
 return None

auteurs

def allow_access(environ, host):
 if environ.get('REMOTE_USER'): 
  if environ['REMOTE_USER'] == 'admin':
   return True
 return False

Les demandes pour _http://localhost/hello font apparaître la demande de connexion comme prévu ... cela fonctionne bien !

Les demandes pour _http://localhost/i n'ouvrent pas de session et renvoient 403 Forbidden.

Est-ce que j'ai raté quelque chose ?! WSGIAccessScript n'est pas censé faire l'autorisation ?!

merci :\N

EDIT

Je reçois l'erreur suivante : la clé 'REMOTE_USER'.

Je suppose que l'authentification script ne fonctionne pas :S

EDIT

J'ai testé ceci pour faire l'autorisation de plusieurs dépôts de subversion basés sur les informations de la base de données,

il y a un moyen de faire cela en retournant 403 interdit si authentifié et non autorisé ? !

Je sais que c'est possible avec mod_python mais je ne veux pas mélanger mod_python et mod_wsgi.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X