У меня Payara версии 182. У меня есть пользовательская проверка токена.
@Priority(Priorities.AUTHENTICATION)
public class TokenAuthenticationFilter implements ContainerRequestFilter {
@Override
public void filter(ContainerRequestContext requestContext) {
// put user into security context so it is available later for role
based security and application usage
requestContext.setSecurityContext(new UserSecurityContext(currentUser,
requestContext.getUriInfo().getRequestUri().getScheme()));
}
}
glassfish-web.xml:
<glassfish-web-app error-url="">
<security-constraint>
<web-resource-collection>
<web-resource-name>Protected Area</web-resource-name>
<url-pattern>/jsp/security/protected/ *</url-pattern>
<http-method>PUT</http-method>
<http-method>DELETE</http-method>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>manager</role-name>
</auth-constraint>
<security-role-mapping>
<role-name>SystemAdmin</role-name>
<principal-name>SystemAdmin</principal-name>
<group-name>SystemAdmin</group-name>
</security-role-mapping>
<security-role-mapping>
<role-name>ADMIN</role-name>
<principal-name>ADMIN</principal-name>
<group-name>ADMIN</group-name>
</security-role-mapping>
<security-role-mapping>
<role-name>UserRole</role-name>
<principal-name>user</principal-name>
<group-name>appuser</group-name>
</security-role-mapping>
<security-role-mapping>
<role-name>rest-monitoring</role-name>
<group-name>rest-monitoring</group-name>
</security-role-mapping>
</security-constraint>
</glassfish-web-app>
Проблема заключается в том, что я выполняю запрос в Почтальоне Iполучить 403 Запрещено.Я попытался поиграться с ролями в glassfish-web.xml , а затем я получил 401 и был перенаправлен на страницу, но это происходит ПОСЛЕ того, как я успешно смог вызвать метод в контроллере.Я получаю этот 401, хотя я могу успешно вызвать метод.