Потратив много дней, пытаясь найти способ использовать только Springsecurity для защиты ejb, я принял гибридное решение: JAAS + springsecurity.
Клиент использует JAAS для аутентификации на сервере ejb на сервере. Я создал пользовательский модуль JAAS LoginModule, который делегирует аутентификацию коду безопасности.
EJB для выполнения своих логических методов использования, которые снабжены аннотациями jsr250 (RolesAllowed), и эта часть полностью обрабатывается пружинной безопасностью.
Таким образом, я добился четкого разделения между безопасностью ejb и spring, поэтому мой бизнес-код, защищенный springsecurity, полностью переносим на любой другой тип ApplicationServer или даже может работать как отдельное приложение.