dev.rafael:
???????
Roles e grupos são a mesma coisa. Grupos são dados associados ao Principal e Roles é como o JEE trata. Não tem diferença!!!
inteflismente tem sim.... se não tiver, então me explica uma coisa
@Stateless
@Remote(InstallRemote.class)
@LocalBean
@DeclareRoles({"teste"})
public class Install implements InstallRemote, Serializable {
//....
@Override
@RolesAllowed("teste")
public void metodoautorizado() {
System.out.println("teste executado");
}
//....
}
@ManagedBean
public class InstallBean {
private @EJB Install install;
//....
public void teste() {
install.metodoautorizado();
}
//....
}
quando eu faço autenticação, o grupo "teste" é carregado, e ao tentar acessar em uma página JSF o comando "#{installBean.metodoautorizado}" a resposta que recebo é de falha de permissão, isto ocorre pq eu não tenho a ROLE "teste", o que tenho é a GRUPO "teste".
caso que coloque o .xml o trecho
<security-role-mapping>
<role-name>teste</role-name>
<group-name>teste</group-name>
</security-role-mapping>
ai o comando "#{installBean.metodoautorizado}" passa a ser liberado, pois agora eu passo a ter a ROLE teste.
------------------------------------------
Obs.: mesmo sendo como vc falou, o grupo teste sendo carregado como principal, no subject, o teste se um usuário tem ou não autorização para executar um método não é feito pelos grupos, e sim pelas roles.