Ignore:
Timestamp:
07/06/10 11:09:11 (10 years ago)
Author:
pjkersha
Message:

Incomplete - task 5: MyProxy? Logon HTTPS Interface

  • Added middleware for get trust roots interface
File:
1 edited

Legend:

Unmodified
Added
Removed
  • TI12-security/trunk/MyProxyLogonWebService/myproxy/server/wsgi/app.py

    r6897 r6938  
    1010__revision__ = "$Id: $" 
    1111from myproxy.server.wsgi.httpbasicauth import HttpBasicAuthMiddleware 
    12 from myproxy.server.wsgi.middleware import MyProxyClientMiddleware 
     12from myproxy.server.wsgi.middleware import (MyProxyClientMiddleware, 
     13                                            MyProxyGetTrustRootsMiddleware) 
    1314      
    1415         
    15 class MyProxyLogonMiddlewareConfigError(Exception): 
    16     """Configuration error with MyProxyLogonMiddleware""" 
    17      
    18      
    19 class MyProxyLogonApp(object): 
    20     """HTTP interface to MyProxy logon.  This interfaces creates a MyProxy  
    21     client instance with a HTTP Basic Auth based web service interface 
    22     to pass username/passphrase for MyProxy logon calls.   
     16class MyProxyApp(object): 
     17    """HTTP interface to MyProxy logon and get trsut roots.  This interfaces  
     18    creates a MyProxy client instance with a HTTP Basic Auth based web service  
     19    interface to pass username/passphrase for MyProxy logon calls.   
    2320     
    2421    This WSGI must be run over HTTPS to ensure confidentiality of  
     
    2724    Apache SSL configuration. 
    2825    """ 
    29     PARAM_PREFIX = 'myproxy.logon.' 
     26    PARAM_PREFIX = 'myproxy.' 
     27    GET_TRUSTROOTS_PARAM_PREFIX = 'getTrustRoots.' 
    3028    HTTPBASICAUTH_REALM_OPTNAME = 'httpbasicauth.realm' 
    3129     
     
    4240        dictionary 
    4341        """ 
    44         logonFuncEnvKeyNameOptName = prefix + \ 
    45                         MyProxyClientMiddleware.LOGON_FUNC_ENV_KEYNAME_OPTNAME 
     42        # This app               
     43        app = cls() 
    4644         
    47         logonFuncEnvironKeyName = app_conf.get(logonFuncEnvKeyNameOptName, 
    48                                 MyProxyClientMiddleware.LOGON_FUNC_ENV_KEYNAME) 
    49                         
    50         app = MyProxyLogonApp() 
     45        # HTTP Basic auth middleware - a container for MyProxy logon 
    5146        httpBasicAuthMWare = HttpBasicAuthMiddleware.filter_app_factory(app,  
    5247                                                                global_conf,  
     
    5449                                                                **app_conf) 
    5550         
    56         app = MyProxyClientMiddleware.filter_app_factory(httpBasicAuthMWare,  
     51        # MyProxy get trust roots middleware 
     52        getTrustRootsPrefix = prefix + cls.GET_TRUSTROOTS_PARAM_PREFIX 
     53        getTrustRootsMWare = MyProxyGetTrustRootsMiddleware.filter_app_factory( 
     54                                                    httpBasicAuthMWare,  
     55                                                    global_conf,  
     56                                                    prefix=getTrustRootsPrefix) 
     57         
     58        # Middleware to hold a MyProxy client and expose interface in environ 
     59        app = MyProxyClientMiddleware.filter_app_factory(getTrustRootsMWare,  
    5760                                                         global_conf,  
    5861                                                         prefix=prefix, 
Note: See TracChangeset for help on using the changeset viewer.