Как вы можете изящно обработать пользователя, пытающегося получить доступ к странице, для которой у него нет разрешений? - PullRequest
0 голосов
/ 25 июня 2018

Есть ли изящный способ обработки сбоев прав доступа?

Если пользователь пытается получить доступ к конечной точке API или к ссылке, к которой у него нет доступа, Appmaker в настоящее время просто молча завершается сбоем.

Есть ли событие, которое можно обработать в приложении и использовать для показа снэк-бара или другого элемента пользовательского интерфейса, который сообщит пользователю, что у него нет разрешения?

Можете ли вы сделать запросразрешения непосредственно от пользователя?

В отдельном, но связанном вопросе я также хотел бы знать, можете ли вы запросить разрешения напрямую и использовать оператор if, чтобы определить, должен ли пользователь даже видеть определенные фрагментыПользовательский интерфейс или ссылки.

1 Ответ

0 голосов
/ 26 июня 2018

Не думаю, что есть какой-то изящный способ справиться с ошибками разрешения. Во-вторых, пользователи не должны видеть меню / ссылки, к которым у них нет доступа. Таким образом, они не случайно нажимают на это. Можете ли вы переработать свой вариант использования, при котором пользователи получают доступ к ссылкам, чтобы у них не было возможности щелкнуть ссылку, к которой у них нет доступа.

В качестве второго замечания вы можете использовать следующий код в своем серверном скрипте для проверки ролей пользователей. Это должно работать и для конечной точки API.

//server script
function checkRole() {
 if (app.getActiveUserRoles().indexOf(app.roles.REPLACE) === -1) {
    throw new Error('Only users with XXX role can perform this action.');
  }
}
...