MySQL 8.0.40
Source Code Documentation
Sasl_mechanism_kerberos Class Reference

#include <auth_ldap_sasl_mechanism.h>

Inheritance diagram for Sasl_mechanism_kerberos:
[legend]

Public Member Functions

 Sasl_mechanism_kerberos ()
 
 ~Sasl_mechanism_kerberos () override
 
bool pre_authentication () override
 
void get_ldap_host (std::string &host) override
 
- Public Member Functions inherited from Sasl_mechanism
 Sasl_mechanism ()
 
virtual ~Sasl_mechanism ()
 
void set_user_info (std::string user, std::string password)
 

Private Attributes

std::unique_ptr< auth_ldap_client_kerberos_context::Kerberosm_kerberos
 

Additional Inherited Members

- Protected Attributes inherited from Sasl_mechanism
std::string m_user
 
std::string m_password
 

Constructor & Destructor Documentation

◆ Sasl_mechanism_kerberos()

Sasl_mechanism_kerberos::Sasl_mechanism_kerberos ( )
default

◆ ~Sasl_mechanism_kerberos()

Sasl_mechanism_kerberos::~Sasl_mechanism_kerberos ( )
overridedefault

Member Function Documentation

◆ get_ldap_host()

void Sasl_mechanism_kerberos::get_ldap_host ( std::string &  host)
overridevirtual

Reimplemented from Sasl_mechanism.

◆ pre_authentication()

bool Sasl_mechanism_kerberos::pre_authentication ( )
overridevirtual

Both user name and password are empty. Existing TGT will be used for authentication. Main user case.

User name and password are not empty, Obtaining TGT from kerberos. First time use case.

User name is not empty.

MySQL user name and kerberos default principle name is same. Existing TGT will be used for authentication.

User has provided password but not user name, returning error.

Reimplemented from Sasl_mechanism.

Member Data Documentation

◆ m_kerberos

std::unique_ptr<auth_ldap_client_kerberos_context::Kerberos> Sasl_mechanism_kerberos::m_kerberos
private

The documentation for this class was generated from the following files: