Предположим, у меня есть простая модель, например, «Record»:Java EE 6 авторизации: ограничение на владельца
@Model
public class Record {
private Principal owner; // presume getter/setters as well
}
Тогда я хочу, чтобы иметь простой EJB, который контролирует создание и удаление записей. Ради аргумента давайте беспокоиться только об удалении:
@EJB
@Named
@Stateless
public class RecordMgr {
@PersistenceContext private EntityManager em;
public void delete(Record r) {
em.remove(r);
}
}
Я хочу, чтобы ограничить доступ к RecordMgr#delete(Record r)
для администраторов и владельца: иными словами, администраторов и людей, которые создали объект, и только их, можно удалить Это. Я не вижу, как выполнить обе эти задачи с декларативной безопасностью. Каков правильный подход к этой проблеме?
Выбрасывает SecurityException правильный способ реализовать это программно? –