powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Настраиваемая форма
7 сообщений из 7, страница 1 из 1
Настраиваемая форма
    #32147534
Фотография Yola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть форма, в ней около 30 полей.

Есть различные пользователи, у каждого из которых доступ к редактированию нескольких произвольных полей. Как мне организовать это в базе.
Т.е. как мне хранить список пользователей и их права, а потом по этим данным строить формы.
На данный момент у меня есть просто одна форма, куда вводят во все поля.

Сам я над этой задачей еще толком не подумал, но время пока есть и поэтому хочется найти оптимальное и крсивое решение.

10x 4 yr time
...
Рейтинг: 0 / 0
Настраиваемая форма
    #32147761
Voha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А на чем работешь, с какой базой?
Сделай таблу внутренних ролей пользователей, в которой хранилосьбы имя юзера и инфа к каким полям у этого юзера есть долступ в нужной тебе табле (смисок полей через разделитель какой нибудь.)
Потом при открытии формы. залазиш в таблу ролей, находишь текущего юзера, и сравниваешь контролы на форме со списком в табле так: если контрол ссылается на то поле которе нет доступа у текущего юзера (нет в списке доступных полей), то дисейблишь этот контрол (или наоборот).

Это если не хочешь пользоваться сикюрите твоей базы.
Прошу прощения за получившийся каламбур. :-)
...
Рейтинг: 0 / 0
Настраиваемая форма
    #32147886
Фотография Yola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это веб приложение, т.е. просто задисеблить контролы, нельзя.
А как хранить поля, брать их ид просто из системных таблиц? или как?
...
Рейтинг: 0 / 0
Настраиваемая форма
    #32148093
Voha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
8-)
Никогда не занимался разработкой веб приложений?
А к контролам обращаться можешь? Если да то загоняй в таблу ролей не имена полей, а контрол.Name (Edit1.Name к примеру), а при активизации формы сверяй сго списоком в базе. И если есть то как нибудь давай доступ к контролу, чё совсем нет ни какой возможности отрубить контрол.
Можно так еще попробывать
...
Рейтинг: 0 / 0
Настраиваемая форма
    #32148507
Фотография Yola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, ты же сидишь в интернете! Вот ты можешь просмотреть код странички с формой, сохранитьего на диске и изменить атрибуты у контролов, изменить возможно придется путь отправки, атрибут актион у формы. Запустить страничку, набрать нужные данные и отправить их на сервер. Поэтому обычно в веб делают две проверки, на клиенте и на саервере, на клиенте она кстати только для удобства, а на сервере реальная, которой можно доверять.\r
\r
Здесь парочка советов по моему вопросу, если интересно.
...
Рейтинг: 0 / 0
Настраиваемая форма
    #32148571
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот ты можешь просмотреть код странички с формой, сохранитьего на диске и изменить атрибуты у контролов, изменить возможно придется путь отправки, атрибут актион у формы. Запустить страничку, набрать нужные данные и отправить их на сервер

Если ты передаешь данные через POST, то хрен ты так просто это сделаешь - страницу то ты у себя откроешь, и передашь себе, а не на сервер :)

Ну а на сервере проблемы то? Ест список полей, которые можно редактировать - вот ты их и сохраняй, другие не трогай.
А еще лучше, передавать весь набор значений в хп, а уж в ней смотреть, чего кто может
...
Рейтинг: 0 / 0
Настраиваемая форма
    #32148704
Репликант
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Yola:
....Поэтому обычно в веб делают две проверки, на клиенте и на саервере, на клиенте она кстати только для удобства, а на сервере реальная, которой можно доверять.

В разделе MSSQL уже все было отвечено - информации более чем достаточно, особенно про реализацию на стороне СУБД.
Обобщу:
* Web-клиент - при работе в определенной роли пользователя имеет ту страницу, к-рая ему нужна
- т.е под каждую роль нужна своя страница с полями/контролами. Также делает валидацию вводимых данных.
(А если пользователь решил похакать - не страшно, т.к ему все равно ничего не светит на серверной стороне)
* Web-сервер - выдает статические (хотя можно и динамически их строить) бизнес-страницы пользователю
в зависимисти от его текущей роли.
Возможно также делает какую-то валидацию вводимых данных дополнительно к серверу БД.
* Сервер БД - всегда делает валидацию вводимых и ограничение выходных данных.

2 tygra:
Если ты передаешь данные через POST, то хрен ты так просто это сделаешь - страницу то ты у себя откроешь, и передашь себе, а не на сервер :)

Почему это он их себе передаст? Если этот офисный хацкер будет использовать полный URL в <form action=..>, то все он передаст

Ну а на сервере проблемы то? Ест список полей, которые можно редактировать - вот ты их и сохраняй, другие не трогай.
А еще лучше, передавать весь набор значений в хп, а уж в ней смотреть, чего кто может


Присоединяюсь! Самый надежный способ, в конце концов пользовательских ролей у него не мильон
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Настраиваемая форма
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]