diff options
author | Michael DeHaan <mdehaan@redhat.com> | 2008-04-14 16:31:08 -0400 |
---|---|---|
committer | Michael DeHaan <mdehaan@redhat.com> | 2008-04-14 16:31:08 -0400 |
commit | 51119d1acc532cfad68b9fe4a1daa945fe7cd3f0 (patch) | |
tree | ba5f3f661513b51c4a850b4c4fec2a1fa2b9fd5b /scripts/index.py | |
parent | 6f6c1c700aac364d5cb2f29d039c950f26767f10 (diff) | |
download | third_party-cobbler-51119d1acc532cfad68b9fe4a1daa945fe7cd3f0.tar.gz third_party-cobbler-51119d1acc532cfad68b9fe4a1daa945fe7cd3f0.tar.xz third_party-cobbler-51119d1acc532cfad68b9fe4a1daa945fe7cd3f0.zip |
Better kerberos support. See the Wiki.
Diffstat (limited to 'scripts/index.py')
-rwxr-xr-x | scripts/index.py | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/scripts/index.py b/scripts/index.py index d32a3a6..281e36e 100755 --- a/scripts/index.py +++ b/scripts/index.py @@ -18,6 +18,7 @@ from mod_python import util import xmlrpclib import cgi +import os from cobbler.webui import CobblerWeb XMLRPC_SERVER = "http://127.0.0.1:25152" # was http://127.0.0.1/cobbler_api_rw" @@ -70,7 +71,28 @@ def handler(req): my_user = __get_user(req) my_uri = req.uri sess = __get_session(req) - token = sess['cobbler_token'] + + if not sess.has_key('cobbler_token'): + # using Kerberos instead of Python Auth handler? + # We need to get our own token for use with authn_passthru + # which should also be configured in /etc/cobbler/modules.conf + # if another auth mode is configured in modules.conf this will + # most certaintly fail. + try: + if not os.path.exists("/var/lib/cobbler/web.ss"): + apache.log_error("cannot load /var/lib/cobbler/web.ss") + return apache.HTTP_UNAUTHORIZED + fd = open("/var/lib/cobbler/web.ss") + data = fd.read() + my_pw = data + fd.close() + token = xmlrpc_server.login(my_user,my_pw) + except Exception, e: + apache.log_error(str(e)) + return apache.HTTP_UNAUTHORIZED + sess['cobbler_token'] = token + else: + token = sess['cobbler_token'] # needed? req.add_common_vars() @@ -118,7 +140,6 @@ def authenhandler(req): my_user = req.user my_uri = req.uri - apache.log_error("authenhandler called: %s" % my_user) try: token = xmlrpc_server.login(my_user,my_pw) except Exception, e: |