클래스: Mongo::Auth::ConversationBase 비공개
- 상속:
-
객체
- 객체
- Mongo::Auth::ConversationBase
- 다음에 정의됨:
- build/ruby-driver-v2.19/lib/mongo/auth/conversation_base.rb
개요
이 클래스는 비공개 API의 일부입니다. 이 클래스는 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
클라이언트 와 서버 간의 인증 대화와 관련된 일반적인 동작을 정의합니다.
직접 알려진 하위 클래스
Mongo::Auth::CR::Conversation, LDAP::Conversation, SaslConversationBase, X509::Conversation
인스턴스 속성 요약 접기
-
#connection ⇒ Mongo::Connection
읽기 전용
비공개
인증할 연결입니다.
-
#user ⇒ Auth::User
읽기 전용
비공개
사용자 대화의 사용자입니다.
인스턴스 메서드 요약 접기
-
#build_message(connection, auth_source, selector) ⇒ Protocol::Message
비공개
보낼 메시지입니다.
-
#initialize(user, connection, **opts) ⇒ ConversationBase
생성자
비공개
새 대화를 만듭니다.
-
#speculative_auth_document ⇒ 해시 | nil
비공개
핸드셰이크에서 speculativeAuthenticate 키의 값으로 서버 에 제공할 해시를 반환합니다.
- #validate_external_auth_source ⇒ 객체 비공개
생성자 세부 정보
#initialize(user, connection, **opts) ⇒ ConversationBase
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
새 대화를 만듭니다.
32 33 34 35 |
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/auth/conversation_base.rb', 줄 32 def 초기화(사용자, 연결, **opts) @user = 사용자 @connection = 연결 end |
인스턴스 속성 세부 정보
#connection ⇒ Mongo::Connection (읽기 전용)
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
인증할 연결을 반환합니다.
41 42 43 |
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/auth/conversation_base.rb', 줄 41 def 연결 @connection end |
#user ⇒ Auth::User (읽기 전용)
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
대화의 사용자를 반환합니다.
38 39 40 |
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/auth/conversation_base.rb', 줄 38 def 사용자 @user end |
인스턴스 메서드 세부 정보
#build_message(connection, auth_source, selector) ⇒ Protocol::Message
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
보낼 메시지를 반환합니다.
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/auth/conversation_base.rb', 줄 55 def (연결, auth_source, 선택기) 만약 연결 && 연결.기능.op_msg_enabled? 선택기 = 선택기.dup 선택기[protocol::메시지::DATABASE_IDENTIFIER] = auth_source cluster_time = 연결.mongos? && 연결.cluster_time 만약 cluster_time 선택기[작업::CLUSTER_TIME] = cluster_time end protocol::메시지.신규([], {}, 선택기) other protocol::쿼리.신규( auth_source, Database::명령, 선택기, limit: -1, ) end end |
#speculative_auth_document ⇒ 해시 | nil
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
핸드셰이크에서 speculativeAuthenticate 키의 값으로 서버 에 제공할 해시를 반환합니다.
인증 메커니즘이 추측 인증 을 지원 하지 않는 경우 이 메서드는 nil을 반환합니다.
50 51 52 |
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/auth/conversation_base.rb', 줄 50 def speculative_auth_document nil end |
#validate_external_auth_source ⇒ 객체
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
74 75 76 77 78 79 80 81 82 83 84 |
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/auth/conversation_base.rb', 줄 74 def validate_external_auth_source 만약 사용자.auth_source != '$external' user_name_msg = 만약 사용자.이름 " #{user.이름}" other '' end 메커니즘 = 사용자.메커니즘 올리다 인증::InvalidConfiguration, "사용자#{user_name_msg} 가 인증 소스 '#{user.auth_source}'를 지정했지만,#{메커니즘}에 유효한 인증 소스 는 '$external'" end end |