TAuthenticate
class description - source file - inheritance tree
public:
TAuthenticate TAuthenticate(TSocket* sock, const char* remote, const char* proto, Int_t security)
TAuthenticate TAuthenticate(const TAuthenticate&)
virtual void ~TAuthenticate()
Bool_t Authenticate()
static void AuthError(const char* where, Int_t error)
Bool_t CheckNetrc(TString& user, TString& passwd)
static TClass* Class()
static const char* GetGlobalPasswd() const
static const char* GetGlobalUser() const
const char* GetPasswd() const
const char* GetUser() const
virtual TClass* IsA() const
static char* PromptPasswd(const char* prompt = "Password: ")
static char* PromptUser(const char* remote)
static void SetGlobalPasswd(const char* passwd)
static void SetGlobalUser(const char* user)
static void SetKrb5AuthHook(Krb5Auth_t func)
static void SetSecureAuthHook(SecureAuth_t func)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
private:
TString fUser user to be authenticated
TString fPasswd user's password
TString fProtocol remote service (rootd, proofd)
TString fRemote remote host to which we want to connect
TSocket* fSocket connection to remote daemon
TAuthenticate::ESecurity fSecurity logon security level
static TString fgUser
static TString fgPasswd
static SecureAuth_t fgSecAuthHook
static Krb5Auth_t fgKrb5AuthHook
public:
static const TAuthenticate::ESecurity kClear
static const TAuthenticate::ESecurity kSRP
static const TAuthenticate::ESecurity kKrb5
TAuthenticate
An authentication module for ROOT based network services, like rootd
and proofd.
TAuthenticate(TSocket *sock, const char *remote,
const char *proto, Int_t security)
Create authentication object.
Bool_t Authenticate()
Authenticate to remote rootd or proofd server. Return kTRUE if
authentication succeeded.
Bool_t CheckNetrc(TString &user, TString &passwd)
Try to get user name and passwd from the ~/.rootnetrc or
~/.netrc files. First ~/.rootnetrc is tried, after that ~/.netrc.
These files will only be used when their access masks are 0600.
Returns kTRUE if user and passwd were found for the machine
specified in the URL. If kFALSE, user and passwd are "".
The format of these files are:
# this is a comment line
machine <machine fqdn> login <user> password <passwd>
and in addition ~/.rootnetrc also supports:
secure <machine fqdn> login <user> password <passwd>
for the secure protocols. All lines must start in the first column.
const char* GetGlobalUser()
Static method returning the global user.
const char* GetGlobalPasswd()
Static method returning the global global password.
char* PromptUser(const char *remote)
Static method to prompt for the user name to be used for authentication
to rootd or proofd. User is asked to type user name.
Returns user name (which must be deleted by caller) or 0.
char* PromptPasswd(const char *prompt)
Static method to prompt for the user's passwd to be used for
authentication to rootd or proofd. Uses non-echoing command line
to get passwd. Returns passwd (which must de deleted by caller) or 0.
void AuthError(const char *where, Int_t err)
Print error string depending on error code.
void SetGlobalUser(const char *user)
Set global user name to be used for authentication to rootd or proofd.
void SetGlobalPasswd(const char *passwd)
Set global passwd to be used for authentication to rootd or proofd.
void SetSecureAuthHook(SecureAuth_t func)
Set secure authorization function. Automatically called when libSRPAuth
is loaded.
void SetKrb5AuthHook(Krb5Auth_t func)
Set kerberos5 authorization function. Automatically called when
libKrb5Auth is loaded.
Inline Functions
const char* GetUser() const
const char* GetPasswd() const
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
TAuthenticate TAuthenticate(const TAuthenticate&)
void ~TAuthenticate()
Author: Fons Rademakers 26/11/2000
Last update: root/net:$Name: $:$Id: TAuthenticate.cxx,v 1.9 2002/03/20 18:47:30 rdm Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
ROOT page - Class index - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.