• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Формула отбора документов для конкретного юзера

  • Автор темы Автор темы LuMee
  • Дата начала Дата начала
L

LuMee

В общем, есть некие документы, обладающие полем Login, в котором находится список пользователей, для которых документ предназначен. Стоит задача отобрать в частную вьюху документы, предназначенные для определенного пользователя.
Проблема в том, что в Login может содержаться не только имя, но и название группы. Если пользователь в эту группу входит, то документ тоже должен лежать в его вьюхе.
Пока в голову пришло лишь что-то такое:
Код:
names:= @Trim(@Replace(Login; @UserNamesList; ""));
SELECT ... & @Elements(names) < @Elements(Login);
Но вот что-то этот маневр в два действия кажется не совсем красивым... Да и не уверен в отсутствии подводных камней (под вечер головная коробка не варит). В общем, если кто подобное делал, подскажите, плз, как лучше :)
P.S. Делается все в Lotus R5
 
Чесно, тема поднималася 100 раз... исчите
Жутко извиняюся - нзаметил что про группы... Всё раво имна пользователей хранить прийдёться, а не имена групп
 
ИМХО отбор в приватную вью не по @Username а по @UsernamesList вполне нормален, и проблем с этим не должно быть.
 
Всё раво имна пользователей хранить прийдёться, а не имена групп
И махнет заказчику крылом волшебная птичка обломинго :D Я сам тоже склоняюсь к варианту с хранением имен пользователей - геморроя меньше (мне B)), но подумал, что если есть простой способ поддержать и группы, но можно попробовать.
ИМХО отбор в приватную вью не по @Username а по @UsernamesList вполне нормален, и проблем с этим не должно быть.
Надеюсь, что так :lol: Просто хотел узнать, насколько адекватен предложенный мной вариант. Так вроде работает, но мало ли...
 
Для: LuMee
у меня была подобная задача, только эти документы во вью должны были удаляться после определенных действий пользователя(что-то типа "На подпись" или "На исполнение").. изврат конечно, может и не очень подходит для вашей ситуации, но делал следующее:
создавал специальный документ, отображаемый только в этой вью, для каждого из входящих в поле(независимо имя это, группа или роль), разграничивал доступ полями Readers, цеплял его ответом к главному.. и удалял после выполнения пользователем определенных действий.

минусом является, видимость сразу нескольких документов для пользователей у которого несколько атрибутов @UserNamesList совпадают со значениями поля(хотя в моем случае такого не могло случиться, да и продумать можно это)
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Похожие темы