Я создаю веб-сервис, используя Jersey + Jetty + Dropwizard + Hibernate.Установить роли в веб-службе Джерси
Скажем, у меня есть веб-сайт, как это:
@Path("/")
@PermitAll
public class Resource {
@RolesAllowed("user")
@GET
public String get() { return "GET"; }
@RolesAllowed("admin")
@POST
public String post(String content) { return content; }
@Path("sub")
public SubResource getSubResource() {
return new SubResource();
}
}
Я знаю, что вы можете проверить роль пользователя с HttpServletRequest.isUserInRole
.
Вопрос в том, как мне назначить роли для начала? Как Джерси знает, что вернуть для метода isUserInRole
, или знает, как отфильтровывать людей от того, чтобы не попасть в конкретные ресурсы на основе их ролей?
У меня нет web.xml
или webdefault.xml
, поэтому определения должны быть сделаны в другом месте.
Вы просмотрели документы для [Dropwizard Auth] (http://www.dropwizard.io/1.0.0/docs/manual/auth.html)? Он поддерживает Basic и OAuth. И есть сторонний [lib для JWT] (https://github.com/ToastShaman/dropwizard-auth-jwt). Вся эта роль обрабатывается каркасом. Если у вас нет и ни одно из этих решений не сработало для вас, и вы хотите взломать свой собственный –