[copr] master: Allow specifing a set of usernames that are alowed to log in (4ed4ab6)

bkabrda at fedorahosted.org bkabrda at fedorahosted.org
Fri Dec 21 09:57:28 UTC 2012


Repository : http://git.fedorahosted.org/cgit/copr.git

On branch  : master

>---------------------------------------------------------------

commit 4ed4ab64e923aacfc3a59562724ca9e5c192bd92
Author: Bohuslav Kabrda <bkabrda at redhat.com>
Date:   Fri Dec 21 10:57:15 2012 +0100

    Allow specifing a set of usernames that are alowed to log in


>---------------------------------------------------------------

 coprs_frontend/coprs/config.py     |    4 ++++
 coprs_frontend/coprs/views/misc.py |    3 ++-
 2 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/coprs_frontend/coprs/config.py b/coprs_frontend/coprs/config.py
index e8a403e..bbc6c0a 100644
--- a/coprs_frontend/coprs/config.py
+++ b/coprs_frontend/coprs/config.py
@@ -7,6 +7,10 @@ class Config(object):
     SECRET_KEY = 'THISISNOTASECRETATALL'
     BACKEND_PASSWORD = 'thisisbackend'
 
+    # restrict access to a set of users
+    USE_ALLOWED_USERS = False
+    ALLOWED_USERS = []
+
     # SQLAlchemy
     SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os.path.abspath(DATABASE)
 
diff --git a/coprs_frontend/coprs/views/misc.py b/coprs_frontend/coprs/views/misc.py
index 3836a90..ca67c75 100644
--- a/coprs_frontend/coprs/views/misc.py
+++ b/coprs_frontend/coprs/views/misc.py
@@ -5,6 +5,7 @@ import flask
 from flask.ext.openid import OpenID
 
 from coprs import app
+from coprs import config
 from coprs import db
 from coprs import models
 from coprs import oid
@@ -18,7 +19,7 @@ def login():
         return flask.redirect(oid.get_next_url())
     if flask.request.method == 'POST':
         fasusername = flask.request.form.get('fasuname')
-        if fasusername:
+        if fasusername and ((app.config['USE_ALLOWED_USERS'] and fasusername in app.config['ALLOWED_USERS']) or not app.config['USE_ALLOWED_USERS']):
             return oid.try_login('http://{0}.id.fedoraproject.org/'.format(fasusername), ask_for = ["email"])
     return flask.render_template('login.html',
                                  next=oid.get_next_url(),



More information about the copr-devel mailing list