Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
15.10.2005, 13:28
|
|||
|---|---|---|---|
|
|||
Аутентификация пользователя на доступ к элементам интерфейса. Как? |
|||
|
#18+
Доброго тебе времени суток, All. У меня возникла проблема - недостаточная гибкость системы безопасности в текущем проекте. Проект написан на mod_perl + Oracle:DBI + apache. В общем, ситуация следующая: Существует клиентский web-interface, у него есть некий функционал, вызывающийся через GET: ".....&command=COMMAND&...." либо PUT: "document.MainForm.command.value='COMMAND'; клиент получает данную команду и далее выполняет ее. Далее. Перед выполнением команды, он считывает характеристики пользователя, его user_id, тип, статус, его текущий хэш, и т.д. На данный момент в программе все прошито статикой, т.е. что-то типа: Код: plaintext 1. 2. 3. 4. 5. 6. Ну и т.д. Соответственно, чем больше типов пользователей, тем больше if я должен сравнивать и проверять. И самое главное, что они расположены не только при проверке выполнения команды, но и внутри команды. Т.к. многие типы пользователей или даже отдельные пользователи могут выполнять одну и туже команду но с разными правами ее выполнения. Некоторым просто не доступен ее полный функционал. На данный момент существуют: 1. словарь типов и статусов пользователей. 2. словарь с какими типами пользователей может работать текущий тип пользователя. В том числе, может-ли он менять им статус. 3. grant_type: Типы грантов на запуск какой-то отдельной команды. 4. user_grants_ex: user_id для которого данная команда (из grant_type) запрещена, несмотря на его тип. Все это используется на данный момент. Какие есть идеи: 1. В grant_type поместить все существующие команды, и строки их исполнения. 2. Создать, полностью определяемые суперюзером группы, в которые входят те или иные команды. Одна команда, может входить в разные группы. 3. Добавить таблицу в которой данному типу пользователя будут принадлежать такие-то группы. Какие есть pros & cons. PROS: 1. Динамический интерфейс. Даже меню. Т.е. sql запросом получаем весь список команд доступных пользователю. Держим его в хэшэ и постоянно с ним сверяемся. CONS: 1. Лазить в базу за такими вещами как комманды исполняемые юзеров... Не будет ли это слишком накладно? Особенно если учесть что база OLTP. Пусть и права у web юзера на ресурсы сбазы минимальные, но все-же... Тем более что юзеров много. Так, текущую ситуацию я вроде обрисовал. Если будут доп. вопросы, отвечу с удовольствием. Теперь мой вопрос, моя цель - построить *гибкую, легко программируемую, быструю* систему аутентификации пользователя. Как вообще делаются подобные системы? Как вы должно быть понимаете, я старался исходить из реализации подсистемы авторизации UNIX. Т.е. группы, права на доступ. Кстати, по умолчанию все права на запуск команд есть только у суперюзера. Но, думаю здесь этот подход не совсем верен. С уважением, Сергей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.10.2005, 13:36
|
|||
|---|---|---|---|
Аутентификация пользователя на доступ к элементам интерфейса. Как? |
|||
|
#18+
Хм. Тема явно не для Проектирования. Куда кинуть? В Oraclе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.10.2005, 13:42
|
|||
|---|---|---|---|
|
|||
Аутентификация пользователя на доступ к элементам интерфейса. Как? |
|||
|
#18+
Честно говоря не знаю. Думаю как раз о проектировании системы аутентификации. С уважением, Сергей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.10.2005, 13:59
|
|||
|---|---|---|---|
Аутентификация пользователя на доступ к элементам интерфейса. Как? |
|||
|
#18+
У меня на MS SQL нечто подобное крутится. Вся система безопасности исключительнона вводимых логинах. Поймала база логин - уж там настроено, какие права у этого логина ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.10.2005, 14:12
|
|||
|---|---|---|---|
|
|||
Аутентификация пользователя на доступ к элементам интерфейса. Как? |
|||
|
#18+
2 Cat2: Да, у меня база тоже определяет профиль залогиннившегося юзера. Его тип, статус, хэш, язык интрефейса, код валюты по умолчанию, новости для него, и т.д. Вопрос именно в application servere. Как сделать его не гибким. Хотя, возможно для этого придется поменять что-то в базе. Кстати, какие у тебя таблицы и какую ты схему реализовал, хотя-бы в общих чертах, не расскажешь? С уважением, Сергей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.10.2005, 14:41
|
|||
|---|---|---|---|
|
|||
Аутентификация пользователя на доступ к элементам интерфейса. Как? |
|||
|
#18+
RBAC ( http://csrc.nist.gov/rbac/ ) не поможет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=32&mobile=1&tid=1545616]: |
0ms |
get settings: |
12ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
130ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 273ms |
| total: | 488ms |

| 0 / 0 |
