Classificação: Mongo::Auth::User
- Herda:
-
Objeto
- Objeto
- Mongo::Auth::User
- Inclui:
- Logável
- Definido em:
- build/ruby-driver-v2.19/lib/mongo/auth/user.rb,
build/ruby-driver-v2.19/lib/mongo/auth/user/view.rb
Visão geral
Representa um usuário no MongoDB.
Definido sob namespace
Classes: Vista
Resumo constante
Constantes incluídas do Loggable
Recolhimento do Resumo do atributo de instância
-
#auth_mech_properties ➤ Hash
Somente leitura
As propriedades do mecanismo de autenticação.
-
#auth_source ➤ string
Somente leitura
A origem de autorização, um banco de dados ou nome externo.
-
#database ⇒ String
Somente leitura
O banco de dados de dados no qual o usuário é criado.
-
#mecanismo ➤ Símbolo
Somente leitura
O mecanismo de autorização.
-
#name ➤ string
Somente leitura
O nome de usuário.
-
#senha ➤ string
Somente leitura
A senha em texto não criptografado.
-
#roles ➤ Array<String>
Somente leitura
Roles As funções do usuário.
Recolhimento do Resumo do método de instância
-
#==(outro) ➤ verdadeiro, falso
Determine se esse usuário é igual a outro.
-
#auth_key(nonce) ➤ string
Obtenha uma chave de autenticação para o usuário com base em um nonce do servidor.
-
#coded_name ➤ string
Obtenha o nome codificado UTF-8 com caracteres especiais de escape para uso com autorização SCRAM.
-
#hash ➤ string
Obtenha a chave de hash para o usuário.
-
#hashed_password ➤ string
Obtenha a senha com hash do usuário para SCRAM-SHA-1.
-
#inicializar(opções) ➤ Usuário
construtor
Crie o novo usuário.
-
#opções ➤ Objeto
privado
Loggable requer um atributo de opções.
-
#sasl_prepped_password ➤ Objeto
privado
Obtenha a senha do usuário para SCRAM-SHA-256.
-
#spec ➤ Hash
Obtenha a especificação do usuário, usada na criação.
Métodos incluídos no Loggable
#log_debug, #log_error, #log_fatal, #log_info, #log_WARN, #logger
Detalhes do construtor
#inicializar(opções) ➤ Usuário
Crie o novo usuário.
163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 |
# File 'build/ruby-driver-v2.19/lib/mongo/auth/user.rb', linha 163 def inicializar() @database = [:database] || Database::ADMIN @auth_source = [:auth_source] || auto.classe.default_auth_source() @name = [: user] @senha = [:password] || [:pwd] @mecanismo = [:auth_mech] se @mecanismo # Como o driver deve selecionar uma classe de autenticação para # o mecanismo especificado, mecanismos que o motorista não # sabe e não pode traduzir para uma classe de autenticação, # precisa ser rejeitado. a menos que @mecanismo.is_a?(Símbolo) # Embora tenhamos documentado a opção auth_mech como um símbolo, nós # não aplicou isso; avisar, rejeitar no modo lint se Lint.habilitado? aumentar Erro::LintError, "Mecanismo de autenticação #{@mecanismo.inspecionar} deve ser especificado como um símbolo" mais log_service("Mecanismo de autenticação #{@mecanismo.inspecionar} deve ser especificado como um símbolo") @mecanismo = @mecanismo.to_sym end end a menos que auth::Fontes.chave?(@mecanismo) aumentar InvalidMechanism.Novo([:auth_mech]) end end @auth_mech_properties = [:auth_mech_properties] || {} @roles = [:roles] || [] end |
Detalhes do atributo da instância
#auth_mech_properties ➤ Hash (somente leitura)
Retorna as propriedades do mecanismo de autenticação .
37 38 39 |
# File 'build/ruby-driver-v2.19/lib/mongo/auth/user.rb', linha 37 def auth_mech_properties @auth_mech_properties end |
#auth_source ➤ string (somente leitura)
Retorna a fonte de autorização, um banco de dados ou um nome externo.
31 32 33 |
# File 'build/ruby-driver-v2.19/lib/mongo/auth/user.rb', linha 31 def auth_source @auth_source end |
#banco de dados de dados ➤ string (somente leitura)
Retorna o banco de dados no qual o usuário é criado.
34 35 36 |
# File 'build/ruby-driver-v2.19/lib/mongo/auth/user.rb', linha 34 def database @database end |
#mecanismo ➤ símbolo (somente leitura)
Retorna o mecanismo de autorização .
40 41 42 |
# File 'build/ruby-driver-v2.19/lib/mongo/auth/user.rb', linha 40 def Mecanismo @mecanismo end |
#name ➤ string (somente leitura)
Retorna o nome de usuário.
43 44 45 |
# File 'build/ruby-driver-v2.19/lib/mongo/auth/user.rb', linha 43 def name @name end |
#senha ➤ string (somente leitura)
Retorna a senha em texto não criptografado.
46 47 48 |
# File 'build/ruby-driver-v2.19/lib/mongo/auth/user.rb', linha 46 def Senha @senha end |
#roles ➤ Array<String> (somente leitura)
Retorna roles As funções do usuário.
49 50 51 |
# File 'build/ruby-driver-v2.19/lib/mongo/auth/user.rb', linha 49 def roles @roles end |
Detalhes do método de instância
#==(outro) ➤ true, false
Determine se esse usuário é igual a outro.
69 70 71 72 |
# File 'build/ruby-driver-v2.19/lib/mongo/auth/user.rb', linha 69 def ==(Outro) Método false a menos que Outro.is_a?(Usuário) name == Outro.name && database == Outro.database && Senha == Outro.Senha end |
#auth_key(nonce) ➤ string
Obtenha uma chave de autenticação para o usuário com base em um nonce do servidor.
85 86 87 |
# File 'build/ruby-driver-v2.19/lib/mongo/auth/user.rb', linha 85 def auth_key(nonce) Digest::md5.hexdigest("#{nonce}#{name}#{hashed_password}") end |
#coded_name ➤ string
Obtenha o nome codificado UTF-8 com caracteres especiais de escape para uso com autorização SCRAM.
98 99 100 |
# File 'build/ruby-driver-v2.19/lib/mongo/auth/user.rb', linha 98 def coded_name name.encode(BSON::UTF8).gsub('=','=3D').gsub(',','=2C') end |
#hash ➤ string
Obtenha a chave de hash para o usuário.
110 111 112 |
# File 'build/ruby-driver-v2.19/lib/mongo/auth/user.rb', linha 110 def hash [ name, database, Senha ].hash end |
#hashed_password ➤ string
Obtenha a senha com hash do usuário para SCRAM-SHA-1.
122 123 124 125 126 127 128 |
# File 'build/ruby-driver-v2.19/lib/mongo/auth/user.rb', linha 122 def hashed_password a menos que Senha aumentar Erro::missingPassword end @hashed_password ||= Digest::md5.hexdigest("#{name}:mongo:#{password}").encode(BSON::UTF8) end |
#opções ➤ 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.
Loggable requer um atributo de opções. Não temos nenhuma opção, portanto, forneça isso como um stub.
55 56 57 |
# File 'build/ruby-driver-v2.19/lib/mongo/auth/user.rb', linha 55 def {} end |
#sasl_prepped_password ➤ 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.
Obtenha a senha do usuário para SCRAM-SHA-256.
133 134 135 136 137 138 139 140 141 142 |
# File 'build/ruby-driver-v2.19/lib/mongo/auth/user.rb', linha 133 def sasl_prepped_password a menos que Senha aumentar Erro::missingPassword end @sasl_prepped_password ||= StringPrep.preparar(Senha, StringPrep::Perfis::sasl::mapeamentos, StringPrep::Perfis::sasl::PROIBIDO, normalizar: true, bidi: true).encode(BSON::UTF8) end |
#spec ➤ Hash
Obtenha a especificação do usuário, usada na criação.
200 201 202 203 204 205 206 |
# File 'build/ruby-driver-v2.19/lib/mongo/auth/user.rb', linha 200 def especificações {funções: roles}.toque fazer |especificações| se Senha especificações[:pwd] = Senha end end end |