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;
}
Другие вопросы по тегам