Настройка списка пользователей для веб-клиента

Решение для настройки списка пользователей для веб-доступа, отличного от других видов клиентов

Возникла задача ограничить отображаемых в списке пользователей для веб-доступа. Для всех остальных клиентов необходимо показывать полный список пользователей. Приведу пример, как это решено у нас.

Веб-сервер — apache

После публикации базы на сервере в созданной директории (где лежит файл default.vrd) создаем файл .htaccess

с содержимым вида

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_URI} #k8SjZc9Dxk/{название базы}/ru_RU/e1cib/users$
RewriteRule #k8SjZc9Dxk(.*)$ /users.txt [R=301,L]

и рядом файл users.txt со списком нужных пользователей.

Тестовый пользователь#k8SjZc9DxkM
Ленин Владимир#k8SjZc9DxkM
Сталин Иосиф#k8SjZc9DxkM

Таким образом, будут отображаться только те пользователи, которых мы указали в этом файле. 

Это всего лишь наш опыт, но, может быть, он будет кому-то полезен 🙂

23 Comments

  1. AllexSoft

    Побольше бы таких фишек. Плюс однозначно.

    Reply
  2. maldinitaly

    Конечно полезно.Однозначно в копилку знаний,автору плюс. Спасибо за информацию.

    Reply
  3. Йожкин Кот

    Плюсую. А можно этот список выводить только для пользователей, подключившихся через интернет (не локально)? И еще бы такое же решение только для IIS.

    Reply
  4. Sirruf

    А можно сделать функцию типа «Запомнить меня», чтобы каждый раз не вводить логин с паролем?)

    Reply
  5. hell666

    (3) Йожкин Кот, думаю, что можно поиграться с публикацией по разным адресам для инета и для внутренней сети. В IIS, думаю, способ почти такой же, но его под рукой нет и сервер на линуксе.

    (4) Sirruf, что-то я сомневаюсь в такой возможности) ну по крайней мере, это уже не средствами веб-сервера.

    Reply
  6. sytkosa

    (0) Как понимаю таким способом можно делать и запрет доступа к определенным страницам конфигурации, например окно «О программе» ?

    Reply
  7. logdog

    Кладу файл .htaccess — ошибка 500 Internal Server Error (

    Reply
  8. dour-dead
    (4) Sirruf, Можно использовать что то типа этого
    Reply
  9. V_V_V

    А если подключаемый клиент получит в строке RewriteCond %{REQUEST_URI} #k8SjZc9Dxk/{название базы}/ru_RU/e1cib/users$ кодировку отличную от ru_RU (или вручную установит) — весь список не вывалит?

    Проверить мне пока что не на чем…

    Reply
  10. 2casp

    В заметки. Плюс 🙂

    Reply
  11. Algiz

    Спасибо, добавим в избранное. Пригодиться

    Reply
  12. SWz

    (7) Аналогично, 500 Internal Server Error.

    Я правильно понял, что если база называется «MyBase», то содержимое файла должно быть таким:

    Options +FollowSymLinks

    RewriteEngine on

    RewriteCond %{REQUEST_URI} #k8SjZc9Dxk/{MyBase}/ru_RU/e1cib/users$

    RewriteRule #k8SjZc9Dxk(.*)$ /users.txt [R=301,L]

    Пробовал еще так:

    Options +FollowSymLinks

    RewriteEngine on

    RewriteCond %{REQUEST_URI} #k8SjZc9Dxk/MyBase/ru_RU/e1cib/users$

    RewriteRule #k8SjZc9Dxk(.*)$ /users.txt [R=301,L]

    Аналогично, 500

    Reply
  13. logdog

    (12) SWz, нужно раскомментировать LoadModule rewrite_module modules/mod_rewrite.so

    Reply
  14. SWz

    (13) Большое спасибо! Все получилось.

    Reply
  15. wunderland

    (13) logdog, до того, как раскоментировал, тоже выдавало ошибку, а после — работает как будто никакого ограничения нет :(((

    как будто файла users.txt вообще нет…

    единственный вариант — у меня нестандартные порты: 1С — 1545 а http — 8080

    может в этом дело, и нужно в .htaccess или где-то еще это указать?

    Reply
  16. wunderland

    (13)(14)

    Еще такой нюанс — браузеры IE и Google реагируют по разному…

    ИЕ — показывает всех пользователей

    Гугль — ни одного

    подозреваю, что это связано с тем, как в этих браузерах пишется адрес после имени базы

    ИЕ — /ru/

    Гугль — /ru_RU/

    а нужного эфекта так и не добился…

    Коллеги, помогите, у кого получилось

    Reply
  17. wunderland

    (12)имя базы нужно брать в фигурные скобки или нет?

    (0)в users.txt после имени пользователя «#k8SjZc9DxkM» — это правильно, или причуды CopyPast

    Reply
  18. hell666

    (17) wunderland,

    Фигурные скобки не нужны, вместо них нужно имя базы.

    Без «#k8SjZc9DxkM» (перевода строки) у меня все юзеры были в одну строку.

    У меня в IE тоже /ru_RU/, но может для обоих прописать замену?

    Reply
  19. wunderland

    (18)в одну строку — а с каким разделителем?

    за 2 дня я уже, кажется, все перепробовал, даже кодировку файла менял…

    список пользователей все равно пустой

    Reply
  20. wunderland

    (18)Всё! Сдаюсь 🙁 Список пользователей пустой и закончились варианты…

    даже про .htaccess и RewriteRule пару статей посмотрел…

    Как и понял, строка с RewriteCond отрабатывает, а файл users.txt или не находит, или не читает(права на папку и файл проверил).

    Не знаю куда еще смотреть… Может подбросите идею?

    Win2003Svr 1Cv8.2.18.109 apache2.2.25×86(0.9.8y)

    Reply
  21. Danila-Master

    hell666, а ка настроить для IIS?

    Reply
  22. sheriff_ibiza

    список пользователей пустой несмотря на файл users.txt

    Reply
  23. user1314647

    (15)

    (20) Может быть еще кому-то актуально, т.к. в этом обсуждении ответа нет.

    Столкнулся с таким же случаем.

    Решение — файл users.txt положил не рядом с .htaccess и default.vrd, а в корень Апача, там где лежит index.htm, в моем случае это «c:Apache24htdocs»

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *