Alexander Schremmer avatar Alexander Schremmer committed 7a58e69

Make session permanent, allow setting the username through HTTP basic auth.

Comments (0)

Files changed (1)

domination/main.py

 
 @app.before_request
 def before_request():
+    if request.authorization and app.auth_enabled:
+        session["username"] = request.authorization.user
     if "username" in session and session["username"] not in app.users:
         app.users[session["username"]] = {"games": {}}
+    session.permanent = True
 
 def restore_game(filename):
     f = file(filename, "rb")
             type="string", help='Path to store savegames in', default=None)
     parser.add_option('-D', '--debug', dest='debug', action='store_true',
             help='Debug mode', default=None)
+    parser.add_option('-a', '--auth', dest='auth', action='store_true',
+            help='Use the webservers basic auth information', default=False)
 
     options, args = parser.parse_args()
     if args:
             1/0
         app.secret_key = "insecure"
 
+    app.auth_enabled = options.auth
+
     if options.storagepath:
         # XXX does not really work
         app.game_storage_path = options.storagepath
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.