首页 > 解决方案 > Jboss EAP 7.2 @RolesAllowed 在实现类中不起作用

问题描述

我有 2 个模块,一个仅使用控制器接口描述 api,第二个使用实现。例子:

资源接口:

@Path("/resource")
public interface Resource {
    @POST
    @Path("/getAll")
    @Produces("application/json")
    Response getAll();

资源实现:

@RequestScoped
@Path("/user")
public class ResourceImpl implements Resource {

    @RolesAllowed({"admin"})
    public Response getAll() {

当我使用具有“用户”角色的用户登录时,我没有收到 401 或 403 错误。如果我将 @RolesAllowed({"admin"}) 添加到界面,那么它将按预期工作。但我相信应该有其他解决方案

我尝试了这个主题的解决方案https://access.redhat.com/solutions/766483但没有运气我的 ejb.xml 看起来像这样:

<ejb-jar
        xmlns="http://java.sun.com/xml/ns/javaee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                           http://java.sun.com/xml/ns/javaee/ejb-jar_3_1.xsd"
        version="3.1">

    <enterprise-beans>
           <message-driven>
            *Queues describtion*
           </message-driven>
    </enterprise-beans>

    <assembly-descriptor>
        <method-permission>
            <role-name>admin</role-name>
            <method>
                <ejb-name>ResourceImpl</ejb-name>
                <method-name>*</method-name>
            </method>
        </method-permission>
    </assembly-descriptor>
</ejb-jar>

我正在使用 Jboss EAP 7.2.9

提前致谢

标签: ejbjboss7.xjboss-eap-7

解决方案


推荐阅读