Exception: Mongo::Auth::Unauthorized
- Inherits:
-
Error::AuthError
- Object
- RuntimeError
- Error::AuthError
- Mongo::Auth::Unauthorized
- Includes:
- Error::Labelable, Error::ReadWriteRetryable
- Defined in:
- lib/mongo/auth.rb
Overview
Raised when a user is not authorized on a database.
Constant Summary
Constants included from Error::ReadWriteRetryable
Error::ReadWriteRetryable::RETRY_MESSAGES, Error::ReadWriteRetryable::WRITE_RETRY_ERRORS, Error::ReadWriteRetryable::WRITE_RETRY_MESSAGES
Instance Attribute Summary collapse
-
#code ⇒ Integer
readonly
The error code.
Attributes included from Error::Notable
#connection_global_id, #generation, #service_id
Instance Method Summary collapse
-
#initialize(user, used_mechanism: nil, message: nil, server: nil, code: nil) ⇒ Unauthorized
constructor
Instantiate the new error.
Methods included from Error::Labelable
Methods included from Error::ReadWriteRetryable
#retryable?, #write_retryable?
Methods included from Error::Notable
#add_note, #add_notes, #notes, #to_s
Constructor Details
#initialize(user, used_mechanism: nil, message: nil, server: nil, code: nil) ⇒ Unauthorized
Instantiate the new error.
150 151 152 153 154 155 156 157 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 |
# File 'lib/mongo/auth.rb', line 150 def initialize(user, used_mechanism: nil, message: nil, server: nil, code: nil) @code = code configured_bits = [] used_bits = [ "auth source: #{user.auth_source}", ] configured_bits << "mechanism: #{user.mechanism}" if user.mechanism used_bits << "used mechanism: #{used_mechanism}" if used_mechanism used_bits << "used server: #{server.address} (#{server.status})" if server used_user = if user.mechanism == :mongodb_x509 'Client certificate' else "User #{user.name}" end configured_bits = if configured_bits.empty? '' else " (#{configured_bits.join(', ')})" end used_bits = " (#{used_bits.join(', ')})" msg = "#{used_user}#{configured_bits} is not authorized to access #{user.database}#{used_bits}" msg += ': ' + if super(msg) end |
Instance Attribute Details
#code ⇒ Integer (readonly)
Returns The error code.
134 135 136 |
# File 'lib/mongo/auth.rb', line 134 def code @code end |