Мне было интересно, есть ли способ определить уровень ключа авторизации, используемого при подключении к Azure DocumentDB.
В основном для предотвращения попыток создания документов или изменения документов, когда был предоставлен ключ авторизации только для чтения.
Что-то в духе
static async void LogIn(string url, string authKey)
{
DocumentClient client = new DocumentClient(new Uri(url), authKey);
if(?clientpermissions?== PermissionMode.Read)
{ Console.WriteLine("You are in read-only mode."); }
}
Я вижу, что у пользовательского класса есть объект разрешений, к которому можно получить доступ, но при использовании исключительно ключей аутентификации я немного теряюсь.
Я думал о попытке создать документ и посмотреть, есть ли исключение, но мне не очень нравится использовать отказ, поскольку условное выражение кажется плохой практикой.
Целью здесь является своего рода инструмент (я знаю, что некоторые из них уже существуют, это скорее упражнение для моих навыков) для управления базами данных документов. Таким образом, в соответствии с этими строками скажем, что кто-то пытается получить доступ к базам данных с помощью ключа, который им дали, им может быть или не быть дан ключ rw, в котором они также могут не знать разрешений. В идеале можно было бы показать метку или индикатор, чтобы указать их уровень доступа. Спасибо!