Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Ограничение доступа к HTML форме

00 голосов
5
Собственно сабж, есть простая форма для заполнения, но для некоторых групп пользователей нужно ограничить доступ. Форма находится в моем модуле.
спросил 29 Ноя, 13 от RomeoXXX (140 баллов)

5 Ответы

00 голосов
Цитата
Let4ik_Russia пишет:
Форма находится в моем модуле.
Я так понимаю есть кусок HTML на странице, в котором есть <fo rm> ... </form>. И задача, что б некоторое группі пользователей видели, а некоторые — нет?
Если еще не нашли решения, то:
Стоит посмотреть в сторону CUser::GetUserGroupArray()
Код
<?
    $arGroups = $USER->GetUserGroupArray();
    $mySpecialGroupID = '13';

    if( in_array( $mySpecialGroupID, $arGroups ) ): ?>
        <fo rm> ... </form>
<?     endif ?>
Аналогичную проверку можно сделать при обработке POST из формы.
ответил 24 Янв, 14 от Alexiaz (320 баллов)
00 голосов
Интересное решение..)) спасибо, а если потребуется сделать чтобы одни могли видеть таблицу, другие видели и таблицу и кнопки управления, а 3-им доступ был вообще закрыт, начальник требует чтобы все через администрирование настраивалось(права на доступ и т.д.)
табличка будет формироваться из инфоблока, будет форма для редактирования и добавления записей.
 И еще вопрос, а возможно ли с веб формы редактировать, добавлять записи инфоблоков?
ответил 13 Май, 14 от RomeoXXX (140 баллов)
00 голосов
Это решение работает через "Группы".

Цитата
Let4ik_Russia пишет:
...если потребуется сделать чтобы одни могли...
- тогда простопоявляется несколько if( ... ) ... elseif( ... ) ... else ...

Цитата
Let4ik_Russia пишет:
тобы все через администрирование настраивалось
Вот это уже интересней) Если Вы разрабатывает свой модуль, то логично что в настройках появятся права групп: что-то вроде
Код
 Группа «...» &#8594; Право на заполнять форму.
Тогда Вы легко сможете сопоставлять "массив прав" → "массив групп с этими правами" → "массив групп конкретного пользователя"

Как-то так...
ответил 09 Сен, 14 от Alexiaz (320 баллов)
00 голосов
Как все сложно однако)))
ответил 15 Янв, 15 от RomeoXXX (140 баллов)
00 голосов
Код
<?
    $arGroups = $USER->GetUserGroupArray();
    $mySpecialGroups = array('13','14','15');

    $showForm = false;
    foreach($mySpecialGroups as $group)
        if(in_array(  $group, $arGroups ))
        $showForm = true;

    if($showForm): ?>
        <fo rm> ... </form>
<?     endif ?>
Вот идея, если доступ нужно дать нескольким группам.

Удачки)
ответил 01 Май, 15 от Alexiaz (320 баллов)

Похожие вопросы

0 голосов
1 ответ
0 голосов
1 ответ
0 голосов
1 ответ
спросил 07 Апр, 14 от Babai (260 баллов)
0 голосов
0 ответов
спросил 07 Янв, 16 от аноним