#vert.x
Вопрос:
У меня проблемы с пониманием того, как WildcardPermissionBasedAuthorization
это работает (документы)
Следующий код возвращает false, что, насколько я знаю, означает, что пользователь не авторизован, хотя я ожидал бы, что по крайней мере одна из этих разрешений «или»будет соответствовать подстановочному знаку» t*».
User user = User.create(new JsonObject().put("username", "testUser"));
user.authorizations().add("", PermissionBasedAuthorization.create("test"));
user.authorizations().add("", WildcardPermissionBasedAuthorization.create("t*"));
OrAuthorization or = OrAuthorization.create();
or.addAuthorization(PermissionBasedAuthorization.create("t"));
or.addAuthorization(PermissionBasedAuthorization.create("te"));
or.addAuthorization(WildcardPermissionBasedAuthorization.create("t"));
or.addAuthorization(WildcardPermissionBasedAuthorization.create("te"));
or.addAuthorization(WildcardPermissionBasedAuthorization.create("te*"));
or.match(user); //is false
Чего я пытаюсь добиться, так это предоставить моему пользователю доступ ко всему, что начинается с «t», а затем в моем обработчике указать, имеет ли пользователь доступ к «te»
Спасибо,
Fil
Ответ №1:
Хорошо, оказывается, вы можете поставить подстановочный знак только для всего раздела, разделенного двоеточием, например «информационный бюллетень:изменить:*».