IBM Filenet: как проверить права доступа на удаление
Как программно проверить, есть ли у подключенного в данный момент пользователя права доступа для удаления папки или документа в хранилище объектов обработчика контента? Могу ли я сделать это с помощью метода folder.getAccessAllowed() и констант AccessLevel.*? (CE 5.0)
2 ответа
AccessLevel
предназначен для представления набора индивидуальных прав доступа. Для проверки конкретного права вы должны использовать что-то вроде этого:
(object.getAccessAllowed() & AccessRight.DELETE_AS_INT) == AccessRight.DELETE_AS_INT
Вот способ:
int accessAllowed = document.getAccessAllowed();
if (checkRight(accessAllowed, AccessRight.DELETE))
{
log.trace("Access level "
+ AccessRight.DELETE.toString() + " is present");
}
private boolean checkRight(int rights, AccessRight ar)
{
return (rights & ar.getValue()) != 0;
}