Ограничение безопасности в web.xml для аутентифицированных пользователей без членства в ролях

Я в отчаянии, потому что думаю, что должно быть простое решение моей проблемы, но я ищу - безрезультатно.

Я использую настраиваемую область в Glassfish 3.1. 1.Эта настраиваемая область (реализует AppservPasswordLoginModuleInterface) принимает токен безопасности из запроса HTTPS, проверяет токен безопасности и затем возвращает пользователя в Glassfish.

Проблема в том, что маркер безопасности не содержит никаких групп, а это означает, что метод public String [] getGroupsList () или настраиваемая область возвращает пустой список (правильно, потому что в маркере безопасности нет ролей).

Тем не менее, я хотел бы иметь ограничение безопасности, чтобы только проверенные пользователи могли входить в систему. Я знаю, что могу использовать следующее ограничение в web.xml:

<security-constraint>
  <web-resource-collection>
    <web-resource-name>mywebapp</web-resource-name>
    <url-pattern>/*</url-pattern>
  </web-resource-collection>
  <auth-constraint>
    <role-name>Users</role-name>
  </auth-constraint>
</security-constraint>

Но поскольку у меня нет групп, я не могу сопоставить какие-либо группы с ролями, и поэтому я не могу использовать ограничение auth с именем роли.

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

Есть несколько решений, которые я не могу реализовать:

  • Я не могу изменить базовый LDAP, чтобы включить роли, потому что схема LDAP и способ сопоставления пользователей LDAP с токенами безопасности выходят за рамки.
  • Мне нужно использовать текущий обработчик пользовательской области, я не могу заменить его своим собственным, который просто возвращает группу по умолчанию. Я попробовал это однажды, и это сработало. Но я не могу заменить существующую настраиваемую область своей собственной, потому что настраиваемая область должна быть общей.

Но я действительно думаю, что в web.xml должен быть способ просто сказать: «Игнорировать все группы и роли, мне просто нужен аутентифицированный пользователь?»

Любая помощь будет принята с благодарностью.

12
задан Jasper 6 March 2019 в 16:43
поделиться