# quixote.demo.authsession # # Application code for the Quixote session management demo, # modified to demonstrate user authorization. # # Create a clone of session_demo.cgi called auth_demo.cgi. # Edit it to publish 'quixote.demo.authsession'. # 2002-11-16 JJD Experiment import base64 from quixote import get_session_manager from quixote.errors import AccessError, QueryError from quixote.html import html_quote _q_exports = ['login', 'logout', 'public', 'private'] # Typical stuff for any Quixote app. template page_header (title): '''\
\n' 'Home | Public | Private' if request.session and request.session.user: ' | Log out' '\n
' '' # We include the login form on two separate pages, so it's been factored # out to a separate template. template login_form (): ''' ''' template _q_index (request): page_header("Quixote Authorization Demo") session = request.session # All Quixote sessions have the ability to track the user's identity # in session.user. In this simple application, session.user is just # a string which the user enters directly into this form. if session.user is None: '''You may log in here, if you feel like it.
''' login_form() else: ('Hello, %s. Good to see you.
\n' % html_quote(session.user)) ''' You can: