1
0
Fork 0
arangodb/Documentation/Books/HTTP/database-database-endpoint.md

50 lines
2.3 KiB
Markdown

---
layout: default
description: If a database name is present in theURI as above, ArangoDB will consult the database-to-endpoint mapping for the currentendpoint, and validate if access to the database is allowed on the endpoint
---
Database-to-Endpoint Mapping
============================
If a [database name](../appendix-glossary.html#database-name) is present in the
URI as above, ArangoDB will consult the database-to-endpoint mapping for the current
endpoint, and validate if access to the database is allowed on the endpoint.
If the endpoint is not restricted to an array of databases, ArangoDB will continue with the
regular authentication procedure. If the endpoint is restricted to an array of specified databases,
ArangoDB will check if the requested database is in the array. If not, the request will be turned
down instantly. If yes, then ArangoDB will continue with the regular authentication procedure.
If the request URI was *http:// localhost:8529/_db/mydb/...*, then the request to *mydb* will be
allowed (or disallowed) in the following situations:
```
Endpoint-to-database mapping Access to *mydb* allowed?
---------------------------- -------------------------
[ ] yes
[ "_system" ] no
[ "_system", "mydb" ] yes
[ "mydb" ] yes
[ "mydb", "_system" ] yes
[ "test1", "test2" ] no
```
In case no database name is specified in the request URI, ArangoDB will derive the database
name from the endpoint-to-database mapping of the endpoint
the connection was coming in on.
If the endpoint is not restricted to an array of databases, ArangoDB will assume the *_system*
database. If the endpoint is restricted to one or multiple databases, ArangoDB will assume
the first name from the array.
Following is an overview of which database name will be assumed for different endpoint-to-database
mappings in case no database name is specified in the URI:
```
Endpoint-to-database mapping Database
---------------------------- --------
[ ] _system
[ "_system" ] _system
[ "_system", "mydb" ] _system
[ "mydb" ] mydb
[ "mydb", "_system" ] mydb
```