pegasus-dashboard URL for users when running through apache webserver

XMLWordPrintable

    • Type: Improvement
    • Resolution: Duplicate
    • Priority: Major
    • master, 4.6.0, 4.5.1
    • Affects Version/s: master, 4.5.0
    • Component/s: Pegasus Dashboard
    • None

      ’m stuck getting dashboard set up under apache in 4.5.0. Following the instructions with NoAuthentication doesn’t work, as auth.py resolves all users to apache, rather than their username. I added the following patch below to auth.py to pull the username out of the URL. This works and returns the right workflow.db path, but then the next step in the app gives me a 404 not found:

      <http://sugar-dev1.phy.syr.edu/pegasus/~dbrown>

      Am I missing something obvious?

      Cheers,
      Duncan.

      — auth.py.bak 2015-05-18 13:58:33.000000000 -0400
      +++ auth.py 2015-05-28 08:35:05.000000000 -0400
      @@ -51,6 +51,24 @@
      return user.get_user_by_username(self.username)

      +class URIAuthentication(BaseAuthentication):
      + def _init_(self, *args):
      + # For no auth. username and password is not required
      + pass
      +
      + def authenticate(self):
      + # Always authenticate the user
      + return True
      +
      + def get_user(self):
      + # Parse the username out of the URL
      + if '~' in request.path:
      + username = request.path.split('~')[1].rstrip('/')
      + return user.get_user_by_username(username)
      + else:
      + return user.get_user_by_uid(os.getuid())
      +
      +
      def basic_auth_response():
      return Response('Basic Auth Required', 401,

      {'WWW-Authenticate': 'Basic realm="Pegasus Service"'}

      )

            Assignee:
            Rajiv Mayani
            Reporter:
            Duncan Brown
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: