У меня есть симпатичный маленький автономный модуль, который используется сложным приложением с таким же сложным управлением пользователями. Несмотря на то, что модуль не имеет собственных ролей, приложению необходимо добавить свои собственные во время развертывания.
Обычно вы добавляете роли следующим образом:
@RolesAllowed("myRole")
public void doMagic() {
// do stuff
}
Однако это не так. возможно, потому что модуль может быть включен в несколько приложений с различным набором ролей каждое.
Итак, я хочу добавить роль в файл конфигурации, который будет развернут с помощью модуля JAR. То, что я пробовал:
ejb-jar.xml :
<enterprise-beans>
<session>
<ejb-name>MyBean</ejb-name>
<security-role-ref>
<role-name>myRole</role-name>
</security-role-ref>
</session>
</enterprise-beans>
(выдает исключения, поскольку ему требуется вся информация для развертывания компонентаЗатем компонент bean развертывается дважды.)
<assembly-descriptor>
<security-role>
<role-name>myRole</role-name>
</security-role>
<method-permission>
<role-name>myRole</role-name>
<method>
<ejb-name>MyBean</ejb-name>
<method-name>*</method-name>
</method>
</method-permission>
</assembly-descriptor>
... и ...
<assembly-descriptor>
<exclude-list>
<method>
<ejb-name>MyBean</ejb-name>
<method-name>doMagic</method-name>
</method>
</exclude-list>
</assembly-descriptor>
Последние два ничего не происходит во время развертывания, оно просто не работает.
Как определить разрешенные роли в файле конфигурации?