클래스: Mongo::Auth::ConversationBase 비공개

상속:
객체
  • 객체
모두 표시
다음에 정의됨:
build/ruby-driver-v2.19/lib/mongo/auth/conversation_base.rb

개요

이 클래스는 비공개 API의 일부입니다. 이 클래스는 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

클라이언트 와 서버 간의 인증 대화와 관련된 일반적인 동작을 정의합니다.

이후:

  • 2.0.0

인스턴스 속성 요약 접기

인스턴스 메서드 요약 접기

생성자 세부 정보

#initialize(user, connection, **opts) ⇒ ConversationBase

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

새 대화를 만듭니다.

매개변수:

  • 사용자 (Auth::User)

    인증할 사용자입니다.

  • 연결 (Mongo::Connection)

    인증할 연결입니다.

이후:

  • 2.0.0



32
33
34
35
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/auth/conversation_base.rb', 줄 32

def 초기화(사용자, 연결, **opts)
  @user = 사용자
  @connection = 연결
end

인스턴스 속성 세부 정보

#connectionMongo::Connection (읽기 전용)

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

인증할 연결을 반환합니다.

반환합니다:

  • (Mongo::Connection)

    인증할 연결입니다.

이후:

  • 2.0.0



41
42
43
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/auth/conversation_base.rb', 줄 41

def 연결
  @connection
end

#userAuth::User (읽기 전용)

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

대화의 사용자를 반환합니다.

반환합니다:

  • (Auth::User)

    user 대화의 사용자입니다.

이후:

  • 2.0.0



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의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

보낼 메시지를 반환합니다.

반환합니다:

이후:

  • 2.0.0



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 build_message(연결, 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을 반환합니다.

반환합니다:

  • (Hash | nil)

    추측 인증 문서입니다.

이후:

  • 2.0.0



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의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

이후:

  • 2.0.0



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