Я пытаюсь защитить свои службы отдыха, написанные с помощью Dropwizard от Apache Shiro. Сначала я инициализировал менеджера безопасности в основном методе.Обеспечение ресурсов ресурсов отдыха с помощью Apache Shiro
Factory<SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiro.ini");
SecurityManager securityManager = factory.getInstance();
SecurityUtils.setSecurityManager(securityManager);
Затем я написал сервис для входа пользователя в систему.
if (!currentUser.isAuthenticated()) {
UsernamePasswordToken token = new UsernamePasswordToken(username, password);
token.setRememberMe(true);
try {
currentUser.login(token);
System.out.println("USER AUTHENTICATED!!!!!!!!");
} catch (Exception uae) {
System.out.println("Error logging in .................");
}
}
Затем я объявил метод с некоторыми аннотациями java.
@RequiresAuthentication
@RequiresRoles("admin")
@GET
@Path("/account")
@ApiOperation(value = "getAccount")
public void getAccount() {
//do something
}
Но когда я получил доступ к этому ресурсу без входа в систему, я был успешным.
Какая ошибка я делаю? Или я должен добавить что-то еще? Как в web.xml?