Classe: Mongo::Auth::ConversationBase Private
- Herda:
-
Objeto
- Objeto
- Mongo::Auth::ConversationBase
- Definido em:
- build/ruby-driver-v2.19/lib/mongo/auth/conversation_base.rb
Visão geral
Esta classe faz parte de uma API privada. Evite usar essa classe, se possível, pois ela pode ser removida ou alterada no futuro.
Define o comportamento comum em torno de conversas de autenticação entre o cliente e o servidor.
Subclasses conhecidas diretas
Mongo::Auth::CR::Conversation, LDAP::Conversation, SaslConversationBase, X509::Conversation
Recolhimento do Resumo do atributo de instância
-
#connection ➤ Mongo::Connection
Somente leitura
privado
A conexão para autenticar.
-
#user ➤ Auth::User
Somente leitura
privado
Usuário O usuário da conversa.
Recolhimento do Resumo do método de instância
-
#build_message(connection, auth_source, selector) ➤ Protocol::Message
privado
A mensagem a ser enviada.
-
#initialize(usuário, conexão, **opts) ➤ ConversationBase
construtor
privado
Crie a nova conversa.
-
#speculative_auth_document ➤ Hash | nada
privado
Retorna o hash a ser fornecido ao servidor na negociação como valor da chave speculativeAuthenticate .
- #validate_external_auth_source ➤ Objeto privado
Detalhes do construtor
#initialize(usuário, conexão, **opts) ➤ ConversationBase
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Crie a nova conversa.
32 33 34 35 |
# File 'build/ruby-driver-v2.19/lib/mongo/auth/conversation_base.rb', linha 32 def inicializar(utilizador, Conexão, **opciona) @user = utilizador @connection = Conexão end |
Detalhes do atributo da instância
#connection ➤ Mongo::Connection (readonly)
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Retorna a conexão para autenticar.
41 42 43 |
# File 'build/ruby-driver-v2.19/lib/mongo/auth/conversation_base.rb', linha 41 def Conexão @connection end |
#user ➤ Auth::User (readonly)
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Retorna o usuário O usuário da conversa.
38 39 40 |
# File 'build/ruby-driver-v2.19/lib/mongo/auth/conversation_base.rb', linha 38 def utilizador @user end |
Detalhes do método de instância
#build_message(connection, auth_source, selector) ⇒ Protocol::Message
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Retorna A mensagem a ser enviada.
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'build/ruby-driver-v2.19/lib/mongo/auth/conversation_base.rb', linha 55 def (Conexão, auth_source, seletor) se Conexão && Conexão.características.op_msg_enabled? seletor = seletor.dup seletor[protocolo::Msg::DATABASE_IDENTIFIER] = auth_source cluster_time = Conexão.mongos? && Conexão.cluster_time se cluster_time seletor[(operação)::CLUSTER_TIME] = cluster_time end protocolo::Msg.Novo([], {}, seletor) mais protocolo::Query.Novo( auth_source, Database::Comando, seletor, limit: -1, ) end end |
#speculative_auth_document ➤ Hash | nada
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Retorna o hash a ser fornecido ao servidor na negociação como valor da chave speculativeAuthenticate .
Se o mecanismo de autenticação não suportar autenticação especulativa, esse método retornará nulo.
50 51 52 |
# File 'build/ruby-driver-v2.19/lib/mongo/auth/conversation_base.rb', linha 50 def speculative_auth_document nada end |
#validate_external_auth_source ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
74 75 76 77 78 79 80 81 82 83 84 |
# File 'build/ruby-driver-v2.19/lib/mongo/auth/conversation_base.rb', linha 74 def validate_external_auth_source se utilizador.auth_source != '$external' user_name_msg = se utilizador.name " #{usuário.name}" mais '' end Mecanismo = utilizador.Mecanismo aumentar auth::Configuração inválida, "O usuário#{user_name_msg} especifica a fonte de autenticação' #{user.auth_source} ', mas a única fonte de autenticação válida para o mecanismo#{} é '$external'" end end |