Clase: Mongo::Auth::ConversationBase Privado
- Hereda:
-
Objeto
- Objeto
- Mongo::Auth::ConversationBase
- Definido en:
- lib/mongo/auth/conversation_base.rb
Overview
Esta clase forma parte de una API privada. Evita usar esta clase si es posible, ya que puede ser eliminada o modificada en el futuro.
Define el comportamiento común en torno a las conversaciones de autenticación entre el cliente y el servidor.
Subclases conocidas directas
Mongo::Auth::CR::Conversation, LDAP::Conversation, SaslConversationBase, X509::Conversation
Resumen de atributos de la instancia colapsar
-
#conexión ⇒ Mongo::Connection
Solo lectura
privado
La conexión para autenticarse.
-
#usuario ⇒ Auth::User
Solo lectura
privado
Usuario El usuario para la conversación.
Resumen del método de instancia colapsar
-
#build_message(connection, auth_source, selector) ⇒ Protocol::Message
privado
El mensaje a enviar.
-
#initialize(user, connection, **_opts) ⇒ ConversationBase
constructor
privado
Crear la nueva conversación.
-
#speculative_auth_document ⇒ Hash | nil
privado
Devuelve el hash para proporcionar al servidor en el proceso de handshake como valor de la clave speculativeAuthenticate.
- #validate_external_auth_source ⇒ Object privado
Detalles del Constructor
#initialize(usuario, conexión, **_opts) ⇒ ConversaciónBase
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Crear la nueva conversación.
29 30 31 32 |
# Archivo 'lib/mongo/auth/conversation_base.rb', línea 29 def inicializar(usuario, Conexión, **_opts) @user = usuario @connection = Conexión end |
Detalles de atributo de instancias
#conexión ⇒ Mongo::Connection (solo lectura)
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve la conexión sobre la que autenticar.
38 39 40 |
# Archivo 'lib/mongo/auth/conversation_base.rb', línea 38 def Conexión @connection end |
#usuario ⇒ Auth::User (sólo lectura)
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve usuario El usuario para la conversación.
35 36 37 |
# Archivo 'lib/mongo/auth/conversation_base.rb', línea 35 def usuario @user end |
Detalles del método de instancia
#build_message(connection, auth_source, selector) ⇒ Protocol::Message
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve el mensaje a enviar.
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# Archivo 'lib/mongo/auth/conversation_base.rb', línea 52 def (Conexión, auth_source, selector) si Conexión selector = selector.dup selector[protocolo::Msg::DATABASE_IDENTIFIER] = auth_source cluster_time = Conexión.mongos? && Conexión.cluster_time selector[Operación::CLUSTER_TIME] = cluster_time si cluster_time protocolo::Msg.Nuevo([], {}, selector) else protocolo::Query.Nuevo( auth_source, Database::Comando, selector, limit: -1 ) end end |
#speculative_auth_document ⇒ Hash | nil
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve el hash para proporcionar al servidor en el proceso de handshake como valor de la clave speculativeAuthenticate.
Si el mecanismo de autenticación no es compatible con la autenticación especulativa, este método retorna nil.
47 48 49 |
# Archivo 'lib/mongo/auth/conversation_base.rb', línea 47 def speculative_auth_document nulo end |
#validate_external_auth_source ⇒ Object
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
69 70 71 72 73 74 75 76 77 78 79 80 |
# Archivo 'lib/mongo/auth/conversation_base.rb', línea 69 def validate_external_auth_source return a menos que usuario.auth_source != '$external' user_name_msg = si usuario.Nombre " #{usuario.nombre}" else '' end mecanismo = usuario.mecanismo propagar Autenticación::InvalidConfiguration, "Usuario#{user_name_msg} especifica origen de autenticación '#{user.auth_source}', pero la única fuente de autenticación válida para #{mechanism} es '$external'" end |