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.
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 183 184 185 186 187 188 189 190 191 192 193 194 |
# File 'lib/mongo/auth.rb', line 153 def initialize(user, used_mechanism: nil, message: nil, server: nil, code: nil ) @code = code configured_bits = [] used_bits = [ "auth source: #{user.auth_source}", ] if user.mechanism configured_bits << "mechanism: #{user.mechanism}" end if used_mechanism used_bits << "used mechanism: #{used_mechanism}" end if server used_bits << "used server: #{server.address} (#{server.status})" end used_user = if user.mechanism == :mongodb_x509 'Client certificate' else "User #{user.name}" end if configured_bits.empty? configured_bits = '' else configured_bits = " (#{configured_bits.join(', ')})" end used_bits = " (#{used_bits.join(', ')})" msg = "#{used_user}#{configured_bits} is not authorized to access #{user.database}#{used_bits}" if msg += ': ' + end super(msg) end |
Instance Attribute Details
#code ⇒ Integer (readonly)
Returns The error code.
137 138 139 |
# File 'lib/mongo/auth.rb', line 137 def code @code end |