Java ejb方法的声明性安全性

Java ejb方法的声明性安全性,java,jsf,jakarta-ee,primefaces,jsf-2.2,Java,Jsf,Jakarta Ee,Primefaces,Jsf 2.2,我对JEE7完全是个初学者。 我试图使用Primefaces 4.0和Glassfish 4.0为企业应用程序实现一个安全模型,但当我使用托管bean中的注释调用ejb的安全方法时,它不会检查该方法的安全性。我想在levelsweb和ejb中创建安全性:我已经实现了web上的第一部分,但另一部分是针对ejb方法的,这是我的问题。 有什么帮助吗 这是托管bean buttonControlles.java @Named @RequestScoped public class buttonCon

我对JEE7完全是个初学者。 我试图使用Primefaces 4.0和Glassfish 4.0为企业应用程序实现一个安全模型,但当我使用托管bean中的注释调用ejb的安全方法时,它不会检查该方法的安全性。我想在levelsweb和ejb中创建安全性:我已经实现了web上的第一部分,但另一部分是针对ejb方法的,这是我的问题。 有什么帮助吗

这是托管bean buttonControlles.java

@Named
@RequestScoped

 public class buttonController {  

    mySec myClass;

    public buttonController(){
     myClass = new mySec();
    }

    public void adminMethod()
    {
        if(myClass.ifManager())
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO,"Hello Manager", "")); 
    }
}
ejb类是MySec.java

@DeclareRoles({"admin","users","manager"})

@Stateless public class mySec {

    @RolesAllowed("manager")
    public boolean ifManager()
    {
        return true;
    }
}

我已经解决了这个问题,因为我实例化了类MySec.java 必须将其注入未实例化的托管bean中

@Named
@RequestScoped

public class buttonController {  

@EJB mySec myClass;

public buttonController(){
}

public void adminMethod()
{
    if(myClass.ifManager())
        FacesContext.getCurrentInstance().addMessage(null, new  FacesMessage(FacesMessage.SEVERITY_INFO,"Hello Manager", "")); 
}
}