クラス: Mongo::Auth::User

継承:
オブジェクト
  • オブジェクト
すべて表示
次のことが含まれます。
ログ記録可能
定義:
lib/mongo/auth/user.rb
、lib/mongo/auth/user/view.rb

Overview

MongoDB のユーザーを表します。

以来

  • 2.0.0

名前空間で定義済み

クラス: ビュー

定数の概要

Loggableに含まれる定数

ログ可能::PRFIX

インスタンス属性の概要を折りたたむ

クラスメソッドの概要を折りたたむ

インスタンス メソッドの概要を折りたたむ

Loggableに含まれるメソッド

#log_debug, #log_error, #log_fatal, #log_info, #log_warn, #logger

コンストラクターの詳細

#初期化(オプション) →ユーザー

新しいユーザーを作成します。

例:

新しいユーザーを作成します。

Mongo::Auth::User.new(options)

パラメーター:

  • options ハッシュ

    ユーザーを作成するためのオプション。

オプション ハッシュ( options ):

  • :auth_source string

    認可データベースまたは外部ソース。

  • :database string

    ユーザーが認可されるデータベース。

  • :user string

    ユーザー名。

  • :password string

    ユーザーのパスワード。

  • :pwd string

    ユーザーのパスワードのレガシー オプション。:password と :pwd の両方が指定されている場合は、 :password が優先されます。

  • :auth_mech 記号

    認可メカニズム。

  • 役割 <String><Hash>配列 未満

    ユーザーのロール。

以来

  • 2.0.0



158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
# ファイル 'lib/mongo/auth/user.rb' 行 158

デフォルト 初期化(options)
  @database = options[:database] || Database::管理者
  @auth_source = options[:auth_source] || 自己.クラス.default_auth_source(options)
  @name = options[:user]
  @password = options[:password] || options[:pwd]
  @mechanism = options[:auth_mech]
  場合 @mechanism
    # ドライバーは認証クラスを選択する必要があるため
    指定されたメカニズム、ドライバーが実行しないメカニズム
    や が認証クラスの を認識しており、認証クラスに変換できない
    # は拒否する必要があります。
    ただし、 @mechanism.is_a?(シンボル)
      #auth_mech オプションをシンボルとしてドキュメント化しましたが、
      # ではこれは強制されません。リンティング モードで警告、拒否
      場合 Lint.有効か
        発生 エラー::LintError, " 認証 メカニズム "
      end

      log_警告(" 認証 メカニズム ")
      @mechanism = @mechanism.to_sym

    end
    発生 InvalidMechanism.新着情報(options[:auth_mech]) ただし、 認証::ソース.key?(@mechanism)
  end
  @auth_mech_properties = options[:auth_mech_properties] || {}
  @roles = options[:roles] || []
end

インスタンス属性の詳細

# auth_mech_properties =ハッシュ(読み取り専用)

認証メカニズムのプロパティを返します。

次の値を返します。

  • ハッシュ

    認証メカニズムのプロパティ。

以来

  • 2.0.0



35
36
37
# ファイル 'lib/mongo/auth/user.rb' 行 35

デフォルト auth_mech_properties
  @auth_mech_properties
end

# auth_source = string (読み取り専用)

認可ソース(データベースまたは外部名のいずれか)を返します。

次の値を返します。

  • ( string )

    認可ソース(データベースまたは外部名のいずれか)。

以来

  • 2.0.0



29
30
31
# ファイル 'lib/mongo/auth/user.rb' 行 29

デフォルト auth_source
  @auth_source
end

# database = string (読み取り専用)

ユーザーが作成されたデータベースを返します。

次の値を返します。

  • ( string )

    ユーザーが作成されるデータベース。

以来

  • 2.0.0



32
33
34
# ファイル 'lib/mongo/auth/user.rb' 行 32

デフォルト database
  @database
end

#メカニズムシンボル(読み取り専用)

認可メカニズムを返します。

次の値を返します。

以来

  • 2.0.0



38
39
40
# ファイル 'lib/mongo/auth/user.rb' 行 38

デフォルト メカニズム
  @mechanism
end

# name = string (読み取り専用)

ユーザー名を返します。

次の値を返します。

  • ( string )

    ユーザー名。

以来

  • 2.0.0



41
42
43
# ファイル 'lib/mongo/auth/user.rb' 行 41

デフォルト name
  @name
end

#パスワード= string (読み取り専用)

クリアテキストのパスワードを返します。

次の値を返します。

  • ( string )

    クリアテキストのパスワード。

以来

  • 2.0.0



44
45
46
# ファイル 'lib/mongo/auth/user.rb' 行 44

デフォルト パスワード
  @password
end

ロール<String> = 個 = 配列=string =(読み取り専用)

ユーザー ロールを返します。

次の値を返します。

  • <String>配列未満

    ロール ユーザーのロール。

以来

  • 2.0.0



47
48
49
# ファイル 'lib/mongo/auth/user.rb' 行 47

デフォルト 役割
  @roles
end

クラスメソッドの詳細

default_auth_source(オプション)⇒ オブジェクト

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

URI とオプションに基づいてデフォルトの認証ソースを生成する

以来

  • 2.0.0



203
204
205
206
207
208
209
210
211
212
# ファイル 'lib/mongo/auth/user.rb' 行 203

デフォルト 自己.default_auth_source(options)
  ケース options[:auth_mech]
  次の場合: :aws, :gssapi, :mongodb_x 509
    ' $external '
  次の場合: :lain
    options[:database] || ' $external '
  else
    options[:database] || Database::管理者
  end
end

インスタンス メソッドの詳細

# == (その他) === (その他) ==================================================================================

このユーザーが別のユーザーと等しいかどうかを判断します。

例:

ユーザーの等価性を確認します。

user == other

パラメーター:

  • その他 オブジェクト

    比較するオブジェクト。

次の値を返します。

  • truefalse

    オブジェクトが等しい場合。

以来

  • 2.0.0



67
68
69
70
71
# ファイル 'lib/mongo/auth/user.rb' 行 67

デフォルト ==(その他)
  return false ただし、 その他.is_a?(user)

  name == その他.name & & database == その他.database & & パスワード == その他.パスワード
end

# auth_key (nance) = string

サーバーからの に基づいてユーザーの認証キーを取得します。

例:

認証キーを取得します。

user.auth_key(nonce)

パラメーター:

  • noance ( string )

    サーバーからの応答。

次の値を返します。

  • ( string )

    認証キー。

以来

  • 2.0.0



84
85
86
# ファイル 'lib/mongo/auth/user.rb' 行 84

デフォルト auth_key(noance)
  ダイジェスト::MD5.16進数(" ")
end

# encoded_name = string

SCRAM 認証で使用するためにエスケープされた特殊文字を含む UTF- 8エンコードされた名前を取得します。

例:

エンコードされた名前を取得します。

user.encoded_name

次の値を返します。

  • ( string )

    エンコードされたユーザー名。

以来

  • 2.0.0



97
98
99
# ファイル 'lib/mongo/auth/user.rb' 行 97

デフォルト encoded_name
  name.encode(BSON::UTF8).gsub('=', '=3D').gsub(',', ' = 2 C ')
end

ハッシュ= string

ユーザーのハッシュキーを取得します。

例:

ハッシュ キーを取得します。

user.hash

次の値を返します。

  • ( string )

    ユーザー ハッシュキー。

以来

  • 2.0.0



109
110
111
# ファイル 'lib/mongo/auth/user.rb' 行 109

デフォルト ハッシュ
  [ name, database, パスワード ].ハッシュ
end

# hashed_password = string

SCRAM-SHA-1 のユーザーのハッシュされたパスワードを取得します。

例:

ユーザーのハッシュされたパスワードを取得します。

user.hashed_password

次の値を返します。

  • ( string )

    ハッシュされたパスワード。

次の値が発生します。

以来

  • 2.0.0



121
122
123
124
125
# ファイル 'lib/mongo/auth/user.rb' 行 121

デフォルト ハッシュされた_パスワード
  発生 エラー::MissingPassword ただし、 パスワード

  @hashed_password ||= ダイジェスト::MD5.16進数(" #{ name } :mongo: #{ password } ").encode(BSON::UTF8)
end

#オプション=オブジェクト

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

ログ記録にはオプション属性が必要です。オプションがないため、これをスタブとして提供します。

以来

  • 2.0.0



53
54
55
# ファイル 'lib/mongo/auth/user.rb' 行 53

デフォルト options
  {}
end

sasl_pretty_password =オブジェクト

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

SCRAM-SHA-256 のユーザーの stringpretty パスワードを取得します。

次の値が発生します。

以来

  • 2.0.0



130
131
132
133
134
135
136
137
# ファイル 'lib/mongo/auth/user.rb' 行 130

デフォルト sasl_pretty_password
  発生 エラー::MissingPassword ただし、 パスワード

  @sasl_prepped_password ||= StringPrep.prepare(パスワード,
                                                StringPrep::プロファイル::SASL::mappings,
                                                StringPrep::プロファイル::SASL::推奨,
                                                正規化: true, bidi: true).encode(BSON::UTF8)
end

#specHash

作成時に使用されるユーザーの仕様を取得します。

例:

ユーザーの仕様を取得します。

user.spec

次の値を返します。

  • ハッシュ

    ユーザー指定

以来

  • 2.0.0



194
195
196
197
198
# ファイル 'lib/mongo/auth/user.rb' 行 194

デフォルト スペック
  { ロール: 役割 }.タップ 行う |スペック|
    スペック[:pwd] = パスワード 場合 パスワード
  end
end