diff --git a/ipa-python/rpcclient.py b/ipa-python/rpcclient.py index c3835568f..7fa075b1d 100644 --- a/ipa-python/rpcclient.py +++ b/ipa-python/rpcclient.py @@ -37,7 +37,7 @@ class RPCClient: def server_url(self, server): """Build the XML-RPC server URL from our configuration""" - return "https://" + server + "/ipa" + return "https://" + server + "/ipaxml" def setup_server(self): """Create our XML-RPC server connection using kerberos diff --git a/ipa-server/ipa-gui/ipa_webgui.cfg b/ipa-server/ipa-gui/ipa_webgui.cfg index e785f34ee..62d251cf3 100644 --- a/ipa-server/ipa-gui/ipa_webgui.cfg +++ b/ipa-server/ipa-gui/ipa_webgui.cfg @@ -29,7 +29,7 @@ server.thread_pool = 10 # if this is part of a larger site, you can set the path # to the TurboGears instance here -# server.webpath="" +server.webpath="/ipa" # Set to True if you are deploying your App behind a proxy # e.g. Apache using mod_proxy @@ -58,7 +58,7 @@ session_filter.storage_path='/var/cache/ipa/sessions' # Listen only on the local interface so all requests go through # Apache/mod_auth_kerb/mod_proxy. -server.server_port = 8080 +server.socket_port = 8080 server.socket_host="127.0.0.1" # LOGGING diff --git a/ipa-server/ipa-gui/ipagui/proxyprovider.py b/ipa-server/ipa-gui/ipagui/proxyprovider.py index 5a145de14..5299091d2 100644 --- a/ipa-server/ipa-gui/ipagui/proxyprovider.py +++ b/ipa-server/ipa-gui/ipagui/proxyprovider.py @@ -25,6 +25,7 @@ import ipa.config import ipa.group import ipa.user import ldap +import krbV log = logging.getLogger("turbogears.identity") @@ -132,7 +133,7 @@ class ProxyIdentityProvider(SqlObjectIdentityProvider): user = IPA_User(user_name) log.debug( "validate_identity %s" % user_name) return ProxyIdentity(visit_key, user) - except: + except Exception, e: # Something went wrong in fetching the user. Set to # anonymous which will deny access. return ProxyIdentity( None ) @@ -143,12 +144,18 @@ class ProxyIdentityProvider(SqlObjectIdentityProvider): def load_identity(self, visit_key): try: - user_name= cherrypy.request.headers['X-FORWARDED-USER'] os.environ["KRB5CCNAME"] = cherrypy.request.headers['X-FORWARDED-KEYTAB'] -# user_name = "test@FREEIPA.ORG" -# os.environ["KRB5CCNAME"] = "FILE:/tmp/krb5cc_500" + ccache = krbV.CCache(cherrypy.request.headers['X-FORWARDED-KEYTAB']) + user_name = ccache.principal().name +# user_name = "test@FREEIPA.ORG" +# os.environ["KRB5CCNAME"] = "FILE:/tmp/krb5cc_500" except KeyError: return None + except AttributeError: + return None + except krbV.Krb5Error: + return None + set_login_attempted( True ) return self.validate_identity( user_name, None, visit_key ) diff --git a/ipa-server/ipa-gui/ipagui/templates/master.kid b/ipa-server/ipa-gui/ipagui/templates/master.kid index d8b341428..ac850178a 100644 --- a/ipa-server/ipa-gui/ipagui/templates/master.kid +++ b/ipa-server/ipa-gui/ipagui/templates/master.kid @@ -24,13 +24,13 @@