Package ganeti :: Package rapi :: Package auth
[hide private]
[frames] | no frames]

Source Code for Package ganeti.rapi.auth

 1  # 
 2  # 
 3   
 4  # Copyright (C) 2015 Google Inc. 
 5  # All rights reserved. 
 6  # 
 7  # Redistribution and use in source and binary forms, with or without 
 8  # modification, are permitted provided that the following conditions are 
 9  # met: 
10  # 
11  # 1. Redistributions of source code must retain the above copyright notice, 
12  # this list of conditions and the following disclaimer. 
13  # 
14  # 2. Redistributions in binary form must reproduce the above copyright 
15  # notice, this list of conditions and the following disclaimer in the 
16  # documentation and/or other materials provided with the distribution. 
17  # 
18  # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 
19  # IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 
20  # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 
21  # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
22  # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 
23  # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
24  # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
25  # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
26  # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
27  # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 
28  # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
29   
30  """Module containing different authentificators that can be used by RAPI 
31   
32  """ 
33   
34   
35 -class RapiAuthenticator(object):
36 """Class providing authentication interface for RAPi requests. 37 38 """
39 - def ValidateRequest(self, req, handler_access, realm):
40 """Checks whether it's permitted to execute an rapi request. 41 42 Must be implemented in derived classes. 43 44 @type req: L{http.server._HttpServerRequest} 45 @param req: HTTP request context 46 @type handler_access: set of strings 47 @param handler_access: access rights required by the requested resourse 48 @type realm: string 49 @param realm: Authentication realm 50 @rtype: str or None 51 @return: the authenticated user name if request execution is permitted and 52 None otherwise 53 54 """ 55 raise NotImplementedError()
56