Права доступа!
-
- Новый участник
- Сообщения: 17
- Зарегистрирован: 11 апр 2012, 12:00
- Используемое ПО: Lotsia PDM PLUS
Права доступа!
Добрый день!
У меня вот такой вопрос!
На документ в лоции имеют права все пользователи, группы и собственно тот кто создал документ!
Все пользователи в организации относятся к какой либо группе!
Я меняю права на все группы (кроме одной), т.е. запрещаю им изменение документа!
Мне необходимо изменить права и тому кто создал документ (создателя нужно ещё и вычислить, т.к. мы не знаем кто это) так, чтобы можно было ему их вернуть при необходимости!
И ещё небольшой вопрос!
У документа есть список тех, кому назначены какие либо права доступа на этот документ!
Можно ли его программно оттуда удалить, точнее как его оттуда удалить (есть кнопка удаления, но это вручную)!
У меня вот такой вопрос!
На документ в лоции имеют права все пользователи, группы и собственно тот кто создал документ!
Все пользователи в организации относятся к какой либо группе!
Я меняю права на все группы (кроме одной), т.е. запрещаю им изменение документа!
Мне необходимо изменить права и тому кто создал документ (создателя нужно ещё и вычислить, т.к. мы не знаем кто это) так, чтобы можно было ему их вернуть при необходимости!
И ещё небольшой вопрос!
У документа есть список тех, кому назначены какие либо права доступа на этот документ!
Можно ли его программно оттуда удалить, точнее как его оттуда удалить (есть кнопка удаления, но это вручную)!
- Старик Крупский
- Активный участник
- Сообщения: 803
- Зарегистрирован: 27 июл 2006, 22:17
- Откуда: Москва
Re: Права доступа!
Не на "раз-два", но задачи вполне решаемы!
Для начала: "документ" - это объект или именно документ? От этого и пляшем!
Вычислить автора несложно! Там в таблице с объектами (документами) должна быть колонка с автором! f_ExecSQLSelect_3 в данном случае рулит, айдишник объекта (документа) ведь известен...
Вторая задача сложнее, но не намного! Той же f_ExecSQLSelect_3 вытаскиваем правообладателей, организуем цикл и удаляем права! Есть еще функция в действиях "Отобрать права у всех пользователей"! Только надо проверить, что в данном случае "Все пользователи" - одноименная группа или все правообладатели!
Для начала: "документ" - это объект или именно документ? От этого и пляшем!
Вычислить автора несложно! Там в таблице с объектами (документами) должна быть колонка с автором! f_ExecSQLSelect_3 в данном случае рулит, айдишник объекта (документа) ведь известен...
Вторая задача сложнее, но не намного! Той же f_ExecSQLSelect_3 вытаскиваем правообладателей, организуем цикл и удаляем права! Есть еще функция в действиях "Отобрать права у всех пользователей"! Только надо проверить, что в данном случае "Все пользователи" - одноименная группа или все правообладатели!
"Лучше меньше, да лучше" (C)
-
- Новый участник
- Сообщения: 17
- Зарегистрирован: 11 апр 2012, 12:00
- Используемое ПО: Lotsia PDM PLUS
Re: Права доступа!
Старик Крупский, спасибо за толчок в нужное направление!
У меня ещё глупый вопрос! (Я с Lotsia работаю всего пол года и то сильно глубоко пока не лез)
В Lotsia есть дерево проектов, как узнать, в какой таблице базы, хранится тот или иной объект?
У меня ещё глупый вопрос! (Я с Lotsia работаю всего пол года и то сильно глубоко пока не лез)
В Lotsia есть дерево проектов, как узнать, в какой таблице базы, хранится тот или иной объект?
- Старик Крупский
- Активный участник
- Сообщения: 803
- Зарегистрирован: 27 июл 2006, 22:17
- Откуда: Москва
Re: Права доступа!
Это проще всего - объекты хранятся в одной таблице (object_reference), документы в другой, типы объектов в третьей, атрибуты, значения атрибутов - все отдельно и очень удобно и компактно. В документации есть файл, описывающий структуру БД.
"Лучше меньше, да лучше" (C)
-
- Новый участник
- Сообщения: 17
- Зарегистрирован: 11 апр 2012, 12:00
- Используемое ПО: Lotsia PDM PLUS
Re: Права доступа!
Ок! Спасибо! Сегодня посмотрю!Старик Крупский писал(а):Это проще всего - объекты хранятся в одной таблице (object_reference), документы в другой, типы объектов в третьей, атрибуты, значения атрибутов - все отдельно и очень удобно и компактно. В документации есть файл, описывающий структуру БД.
-
- Новый участник
- Сообщения: 17
- Зарегистрирован: 11 апр 2012, 12:00
- Используемое ПО: Lotsia PDM PLUS
Re: Права доступа!
Наконец то добрался снова до Лоции!
Но что то плохо пока воспринимается она!
Старик Крупский, помоги строчкой кода, как в действии прописать поиск по базе?
Что то я совсем запутался
Но что то плохо пока воспринимается она!
Старик Крупский, помоги строчкой кода, как в действии прописать поиск по базе?
Что то я совсем запутался

- Старик Крупский
- Активный участник
- Сообщения: 803
- Зарегистрирован: 27 июл 2006, 22:17
- Откуда: Москва
Re: Права доступа!
Вот это вопрос! Начать и кончить. Это от версии зависит и еще много от чего. Универсальный базовый способ найти объект - в свойствах объектной переменной нажать на Условия отбора и там задать условия по типу и атрибутам. Потом переменную вытащить на форму. Ну и все, запускаем действие и смотрим, что оно находит. Если все в порядке, начинаем с возвращенным значением переменной (с объектом) выполнять разные функции - присваивать атрибуты, связи курочить. В современных версиях действия умеют искать с помощью запросов.
ЗЫ. Поглядел Ваш сайт, Вы же из Тюмени, с anderyt (http://www.lplm.ru/phpBB2/memberlist.ph ... ofile&u=10) случайно не знакомы?
ЗЫ. Поглядел Ваш сайт, Вы же из Тюмени, с anderyt (http://www.lplm.ru/phpBB2/memberlist.ph ... ofile&u=10) случайно не знакомы?
"Лучше меньше, да лучше" (C)
-
- Новый участник
- Сообщения: 17
- Зарегистрирован: 11 апр 2012, 12:00
- Используемое ПО: Lotsia PDM PLUS
Re: Права доступа!
Старик Крупский писал(а):Вот это вопрос! Начать и кончить. Это от версии зависит и еще много от чего. Универсальный базовый способ найти объект - в свойствах объектной переменной нажать на Условия отбора и там задать условия по типу и атрибутам. Потом переменную вытащить на форму. Ну и все, запускаем действие и смотрим, что оно находит. Если все в порядке, начинаем с возвращенным значением переменной (с объектом) выполнять разные функции - присваивать атрибуты, связи курочить. В современных версиях действия умеют искать с помощью запросов.
ЗЫ. Поглядел Ваш сайт, Вы же из Тюмени, с anderyt (http://www.lplm.ru/phpBB2/memberlist.ph ... ofile&u=10) случайно не знакомы?
Ок, посижу по разбираюсь!
С этим пользователем не знаком!
- Старик Крупский
- Активный участник
- Сообщения: 803
- Зарегистрирован: 27 июл 2006, 22:17
- Откуда: Москва
Re: Права доступа!
Ничего сложного, но специфика определенная есть. Как и во всем.
"Лучше меньше, да лучше" (C)
-
- Новый участник
- Сообщения: 17
- Зарегистрирован: 11 апр 2012, 12:00
- Используемое ПО: Lotsia PDM PLUS
Re: Права доступа!
Старик Крупский, а в какой табличке или в каком виде хранятся права на объект?Старик Крупский писал(а):Не на "раз-два", но задачи вполне решаемы!
Для начала: "документ" - это объект или именно документ? От этого и пляшем!
Вычислить автора несложно! Там в таблице с объектами (документами) должна быть колонка с автором! f_ExecSQLSelect_3 в данном случае рулит, айдишник объекта (документа) ведь известен...
Вторая задача сложнее, но не намного! Той же f_ExecSQLSelect_3 вытаскиваем правообладателей, организуем цикл и удаляем права! Есть еще функция в действиях "Отобрать права у всех пользователей"! Только надо проверить, что в данном случае "Все пользователи" - одноименная группа или все правообладатели!
Если мы знаем Id документа, то мы же можем такую информацию о нем вытащить из базы? или нет???
Может какая то связующая табличка есть?
- Старик Крупский
- Активный участник
- Сообщения: 803
- Зарегистрирован: 27 июл 2006, 22:17
- Откуда: Москва
Re: Права доступа!
Про табличку с правами не знаю. Надо читать описание, это вы и сами можете сделать. Если id документа есть, то информацию можно вытащить абсолютно всю. В каждой табличке, которая касается документа, есть ссылка на его id.в какой табличке или в каком виде хранятся права на объект?
Если мы знаем Id документа, то мы же можем такую информацию о нем вытащить из базы? или нет???
Может какая то связующая табличка есть?
"Лучше меньше, да лучше" (C)
- Disillusioned
- Активный участник
- Сообщения: 420
- Зарегистрирован: 15 июл 2004, 15:12
- Используемое ПО: Lotsia PDM PLUS
- Откуда: Подольск
- Контактная информация:
Re: Права доступа!
По правам описания полей таблиц вроде как нет.
Права хранятся в таблице EmplRight: ObjID_N - код объекта или документа, ObjType - тип привилегии, user_id - код пользователя, GrantS GrantI GrantU GrantD - права на доступ создание изменение удаление.
Права хранятся в таблице EmplRight: ObjID_N - код объекта или документа, ObjType - тип привилегии, user_id - код пользователя, GrantS GrantI GrantU GrantD - права на доступ создание изменение удаление.
Ах и с ними невозможно
И без них никак нельзя
И без них никак нельзя
-
- Новый участник
- Сообщения: 17
- Зарегистрирован: 11 апр 2012, 12:00
- Используемое ПО: Lotsia PDM PLUS
Re: Права доступа!
Спасибо!Disillusioned писал(а):По правам описания полей таблиц вроде как нет.
Права хранятся в таблице EmplRight: ObjID_N - код объекта или документа, ObjType - тип привилегии, user_id - код пользователя, GrantS GrantI GrantU GrantD - права на доступ создание изменение удаление.
Да, нашел такую табличку! Уже с ней плотно работаю))
- Disillusioned
- Активный участник
- Сообщения: 420
- Зарегистрирован: 15 июл 2004, 15:12
- Используемое ПО: Lotsia PDM PLUS
- Откуда: Подольск
- Контактная информация:
Re: Права доступа!
Отбираются ВСЕ права по указанной привилегии. Только надо помнить, что в Лоции PDM нельзя отобрать права у самого себя.Есть еще функция в действиях "Отобрать права у всех пользователей"! Только надо проверить, что в данном случае "Все пользователи" - одноименная группа или все правообладатели!
Ах и с ними невозможно
И без них никак нельзя
И без них никак нельзя
-
- Новый участник
- Сообщения: 17
- Зарегистрирован: 11 апр 2012, 12:00
- Используемое ПО: Lotsia PDM PLUS
Re: Права доступа!
Написал в базе процедуру, удаляющую строку с правами создателя документа!
Всё работает, всё удаляет, но это в SQL!
И вот собственно говоря вопрос, как вызвать процедуру из базы через Lotsia
Всё работает, всё удаляет, но это в SQL!
И вот собственно говоря вопрос, как вызвать процедуру из базы через Lotsia
