|
Настраиваемая форма
|
|||
---|---|---|---|
#18+
Есть форма, в ней около 30 полей. Есть различные пользователи, у каждого из которых доступ к редактированию нескольких произвольных полей. Как мне организовать это в базе. Т.е. как мне хранить список пользователей и их права, а потом по этим данным строить формы. На данный момент у меня есть просто одна форма, куда вводят во все поля. Сам я над этой задачей еще толком не подумал, но время пока есть и поэтому хочется найти оптимальное и крсивое решение. 10x 4 yr time ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2003, 11:36 |
|
Настраиваемая форма
|
|||
---|---|---|---|
#18+
А на чем работешь, с какой базой? Сделай таблу внутренних ролей пользователей, в которой хранилосьбы имя юзера и инфа к каким полям у этого юзера есть долступ в нужной тебе табле (смисок полей через разделитель какой нибудь.) Потом при открытии формы. залазиш в таблу ролей, находишь текущего юзера, и сравниваешь контролы на форме со списком в табле так: если контрол ссылается на то поле которе нет доступа у текущего юзера (нет в списке доступных полей), то дисейблишь этот контрол (или наоборот). Это если не хочешь пользоваться сикюрите твоей базы. Прошу прощения за получившийся каламбур. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2003, 13:30 |
|
Настраиваемая форма
|
|||
---|---|---|---|
#18+
Это веб приложение, т.е. просто задисеблить контролы, нельзя. А как хранить поля, брать их ид просто из системных таблиц? или как? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2003, 14:28 |
|
Настраиваемая форма
|
|||
---|---|---|---|
#18+
8-) Никогда не занимался разработкой веб приложений? А к контролам обращаться можешь? Если да то загоняй в таблу ролей не имена полей, а контрол.Name (Edit1.Name к примеру), а при активизации формы сверяй сго списоком в базе. И если есть то как нибудь давай доступ к контролу, чё совсем нет ни какой возможности отрубить контрол. Можно так еще попробывать ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2003, 16:22 |
|
Настраиваемая форма
|
|||
---|---|---|---|
#18+
Ну, ты же сидишь в интернете! Вот ты можешь просмотреть код странички с формой, сохранитьего на диске и изменить атрибуты у контролов, изменить возможно придется путь отправки, атрибут актион у формы. Запустить страничку, набрать нужные данные и отправить их на сервер. Поэтому обычно в веб делают две проверки, на клиенте и на саервере, на клиенте она кстати только для удобства, а на сервере реальная, которой можно доверять.\r \r Здесь парочка советов по моему вопросу, если интересно. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2003, 09:58 |
|
Настраиваемая форма
|
|||
---|---|---|---|
#18+
Вот ты можешь просмотреть код странички с формой, сохранитьего на диске и изменить атрибуты у контролов, изменить возможно придется путь отправки, атрибут актион у формы. Запустить страничку, набрать нужные данные и отправить их на сервер Если ты передаешь данные через POST, то хрен ты так просто это сделаешь - страницу то ты у себя откроешь, и передашь себе, а не на сервер :) Ну а на сервере проблемы то? Ест список полей, которые можно редактировать - вот ты их и сохраняй, другие не трогай. А еще лучше, передавать весь набор значений в хп, а уж в ней смотреть, чего кто может ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2003, 10:35 |
|
Настраиваемая форма
|
|||
---|---|---|---|
#18+
2 Yola: ....Поэтому обычно в веб делают две проверки, на клиенте и на саервере, на клиенте она кстати только для удобства, а на сервере реальная, которой можно доверять. В разделе MSSQL уже все было отвечено - информации более чем достаточно, особенно про реализацию на стороне СУБД. Обобщу: * Web-клиент - при работе в определенной роли пользователя имеет ту страницу, к-рая ему нужна - т.е под каждую роль нужна своя страница с полями/контролами. Также делает валидацию вводимых данных. (А если пользователь решил похакать - не страшно, т.к ему все равно ничего не светит на серверной стороне) * Web-сервер - выдает статические (хотя можно и динамически их строить) бизнес-страницы пользователю в зависимисти от его текущей роли. Возможно также делает какую-то валидацию вводимых данных дополнительно к серверу БД. * Сервер БД - всегда делает валидацию вводимых и ограничение выходных данных. 2 tygra: Если ты передаешь данные через POST, то хрен ты так просто это сделаешь - страницу то ты у себя откроешь, и передашь себе, а не на сервер :) Почему это он их себе передаст? Если этот офисный хацкер будет использовать полный URL в <form action=..>, то все он передаст Ну а на сервере проблемы то? Ест список полей, которые можно редактировать - вот ты их и сохраняй, другие не трогай. А еще лучше, передавать весь набор значений в хп, а уж в ней смотреть, чего кто может Присоединяюсь! Самый надежный способ, в конце концов пользовательских ролей у него не мильон ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2003, 11:53 |
|
|
start [/forum/topic.php?fid=32&fpage=182&tid=1546994]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
35ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 246ms |
total: | 380ms |
0 / 0 |