클래스: Mongo::Auth::User
- 상속:
-
객체
- 객체
- Mongo::Auth::User
- 다음을 포함합니다.
- 로깅 가능
- 다음에 정의됨:
- 빌드/ Ruby-driver-v2.19/lib/mongo/auth/user.rb,
빌드/ Ruby-driver-v2.19/lib/mongo/auth/user/view.rb
개요
MongoDB 의 사용자를 나타냅니다.
네임스페이스 아래에 정의됨
클래스: 보기
상수 요약
Loggable에서 포함된 상수
인스턴스 속성 요약 접기
-
#auth_mech_properties ⇒ 해시
읽기 전용
인증 메커니즘 속성입니다.
-
#auth_source ⇒ string
읽기 전용
권한 부여 소스(데이터베이스 또는 외부 이름)입니다.
-
#database ⇒ String
읽기 전용
사용자가 생성된 데이터베이스 입니다.
-
#메커니즘 ⇒ 기호
읽기 전용
권한 부여 메커니즘.
-
#이름 ⇒ string
읽기 전용
사용자 이름입니다.
-
#비밀번호 ⇒ string
읽기 전용
일반 텍스트 비밀번호입니다.
-
역할 # ⇒ Array<String>
읽기 전용
역할 사용자 역할입니다.
인스턴스 메서드 요약 접기
-
#==(기타) ⇒ true, false
이 사용자가 다른 사용자와 동일한지 확인합니다.
-
#auth_key(nonce) ⇒ string
서버의 논스(nonce)를 기반으로 사용자의 인증 키를 가져옵니다.
-
#인코딩된_이름 ⇒ string
SCRAM 권한 부여 에 사용할 수 있도록 이스케이프된 특수 문자를 사용하여 UTF-8 로 인코딩된 이름을 가져옵니다.
-
#해시 ⇒ string
사용자의 해시 키를 가져옵니다.
-
#hashed_password ⇒ string
SCRAM -SHA-1 에 대한 사용자의 해시 된 비밀번호를 가져옵니다.
-
#initialize(options) ⇒ 사용자
생성자
새 사용자를 만듭니다.
-
#options ⇒ 객체
비공개
로그 가능에는 옵션 속성이 필요합니다.
-
#sasl_prepped_password ⇒ 객체
비공개
SCRAM-SHA-256 에 대한 사용자의 문자열 준비된 비밀번호를 가져옵니다.
-
#spec ⇒ 해시
생성에 사용된 사용자의 사양을 가져옵니다.
Loggable에 포함된 메서드
#log_debug, #log_error, #log_fatal, #log_info, #log_warn, #logger
생성자 세부 정보
#initialize(options) ⇒ 사용자
새 사용자를 만듭니다.
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 |
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/auth/user.rb', 줄 163 def 초기화() @database = [:database] || Database::ADMIN @auth_source = [:auth_source] || self.클래스.default_auth_source() @name = [: user] @password = [:password] || [:pwd] @mechanism = [:auth_mech] 만약 @mechanism # 운전자 가 다음에 대한 인증 클래스를 선택해야 하므로 # 지정된 메커니즘, 운전자 가 수행하지 않는 메커니즘 # 인증 클래스에 대해 알고 있으며 인증 클래스로 변환할 수 없습니다. # 거부해야 합니다. 하지 않는 한 @mechanism.is_a?(기호) # auth_mech 옵션을 기호로 문서화했지만 # 이를 시행하지 않았습니다. 린트 모드 에서 경고, 거부 만약 Lint.활성화? 올리다 오류::LintError, "인증 메커니즘 #{@mechanism.검사} 를 기호로 지정해야 합니다. other log_warn("인증 메커니즘 #{@mechanism.검사} 기호로 지정해야 합니다") @mechanism = @mechanism.to_sym end end 하지 않는 한 인증::출처.키?(@mechanism) 올리다 InvalidMechanism.신규([:auth_mech]) end end @auth_mech_properties = [:auth_mech_properties] || {} @roles = [:roles] || [] end |
인스턴스 속성 세부 정보
#auth_mech_properties ⇒ 해시 (읽기 전용)
반환값 인증 메커니즘 속성을 반환합니다.
37 38 39 |
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/auth/user.rb', 줄 37 def auth_mech_properties @auth_mech_properties end |
#auth_source ⇒ string (읽기 전용)
반환값 권한 부여 소스(데이터베이스 또는 외부 이름)를 반환합니다.
31 32 33 |
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/auth/user.rb', 줄 31 def auth_source @auth_source end |
#데이터베이스 ⇒ string (읽기 전용)
사용자가 생성된 데이터베이스를 반환합니다.
34 35 36 |
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/auth/user.rb', 줄 34 def database @database end |
#메커니즘 ⇒ 기호 (읽기 전용)
반환값 권한 부여 메커니즘.
40 41 42 |
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/auth/user.rb', 줄 40 def 메커니즘 @mechanism end |
#이름 ⇒ string (읽기 전용)
반환값 사용자 이름.
43 44 45 |
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/auth/user.rb', 줄 43 def 이름 @name end |
#비밀번호 ⇒ string (읽기 전용)
일반 텍스트 비밀번호를 반환합니다.
46 47 48 |
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/auth/user.rb', 줄 46 def 비밀번호 @password end |
#roles ⇒ Array<String> (읽기 전용)
반환 역할 사용자 역할입니다.
49 50 51 |
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/auth/user.rb', 줄 49 def roles @roles end |
인스턴스 메서드 세부 정보
#==(기타) ⇒ true, false
이 사용자가 다른 사용자와 동일한지 확인합니다.
69 70 71 72 |
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/auth/user.rb', 줄 69 def ==(기타) 반환 거짓 하지 않는 한 기타.is_a?(사용자) 이름 == 기타.이름 && database == 기타.database && 비밀번호 == 기타.비밀번호 end |
#auth_key(nonce) ⇒ string
서버의 논스(nonce)를 기반으로 사용자의 인증 키를 가져옵니다.
85 86 87 |
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/auth/user.rb', 줄 85 def auth_key(논스) 다이제스트::MD5.hexdigest("#{nonce}#{name}#{hashed_password}") end |
#인코딩된_이름 ⇒ string
SCRAM 권한 부여 에 사용할 수 있도록 이스케이프된 특수 문자를 사용하여 UTF-8 로 인코딩된 이름을 가져옵니다.
98 99 100 |
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/auth/user.rb', 줄 98 def 인코딩된 이름 이름.encode(BSON::UTF8).gsub('=','=3D').gsub(',','=2C') end |
#해시 ⇒ string
사용자의 해시 키를 가져옵니다.
110 111 112 |
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/auth/user.rb', 줄 110 def 해시 [ 이름, database, 비밀번호 ].해시 end |
#hashed_password ⇒ string
SCRAM -SHA-1 에 대한 사용자의 해시 된 비밀번호를 가져옵니다.
122 123 124 125 126 127 128 |
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/auth/user.rb', 줄 122 def hashed_password 하지 않는 한 비밀번호 올리다 오류::MissingPassword end @hashed_password ||= 다이제스트::MD5.hexdigest("#{name}: Mongo:#{password}").encode(BSON::UTF8) end |
#options ⇒ 객체
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
로그 가능에는 옵션 속성이 필요합니다. 선택할 수 있는 방법이 없으므로 이를 스텁으로 제공합니다.
55 56 57 |
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/auth/user.rb', 줄 55 def {} end |
#sasl_prepped_password ⇒ 객체
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
SCRAM-SHA-256 에 대한 사용자의 문자열 준비된 비밀번호를 가져옵니다.
133 134 135 136 137 138 139 140 141 142 |
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/auth/user.rb', 줄 133 def sasl_prepped_password 하지 않는 한 비밀번호 올리다 오류::MissingPassword end @sasl_prepped_password ||= StringPrep.준비하다(비밀번호, StringPrep::프로필::sasl::지도 제작, StringPrep::프로필::sasl::금지됨, 정규화: true, bidi: true).encode(BSON::UTF8) end |
#spec ⇒ 해시
생성에 사용된 사용자의 사양을 가져옵니다.
200 201 202 203 204 205 206 |
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/auth/user.rb', 줄 200 def 사양 {역할: roles}.탭 do |사양| 만약 비밀번호 사양[:pwd] = 비밀번호 end end end |