Supposons que je dispose d'un modèle simple, tel que "Record" :
@Model
public class Record {
private Principal owner; // presume getter/setters as well
}
Ensuite, je veux avoir un simple EJB qui contrôle la création et la suppression des enregistrements. Pour les besoins de l'argumentation, ne nous préoccupons que de la suppression :
@EJB
@Named
@Stateless
public class RecordMgr {
@PersistenceContext private EntityManager em;
public void delete(Record r) {
em.remove(r);
}
}
Je veux restreindre l'accès à RecordMgr#delete(Record r)
aux administrateurs et au propriétaire : en d'autres termes, les administrateurs et les personnes qui ont créé l'objet, et eux seuls, peuvent le supprimer. Je ne vois pas comment réaliser ces deux objectifs avec la sécurité déclarative. Quelle est la bonne façon d'aborder ce problème ?