
    Новые сообщения [новые:0]
  
  Дайджест 
  
  Горячие темы
    Избранное [новые:0]
  
Форумы 
 
Пользователи 
Статистика 
Статистика нагрузки 
    Мод. лог 
  
  Поиск 
| 
 | 
| 24.04.2003, 11:36 | |||
|---|---|---|---|
| Настраиваемая форма | |||
| #18+ Есть форма, в ней около 30 полей. Есть различные пользователи, у каждого из которых доступ к редактированию нескольких произвольных полей. Как мне организовать это в базе. Т.е. как мне хранить список пользователей и их права, а потом по этим данным строить формы. На данный момент у меня есть просто одна форма, куда вводят во все поля. Сам я над этой задачей еще толком не подумал, но время пока есть и поэтому хочется найти оптимальное и крсивое решение. 10x 4 yr time ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
|  | 
| 24.04.2003, 13:30 | |||
|---|---|---|---|
| Настраиваемая форма | |||
| #18+ А на чем работешь, с какой базой? Сделай таблу внутренних ролей пользователей, в которой хранилосьбы имя юзера и инфа к каким полям у этого юзера есть долступ в нужной тебе табле (смисок полей через разделитель какой нибудь.) Потом при открытии формы. залазиш в таблу ролей, находишь текущего юзера, и сравниваешь контролы на форме со списком в табле так: если контрол ссылается на то поле которе нет доступа у текущего юзера (нет в списке доступных полей), то дисейблишь этот контрол (или наоборот). Это если не хочешь пользоваться сикюрите твоей базы. Прошу прощения за получившийся каламбур. :-) ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
|  | 
| 24.04.2003, 14:28 | |||
|---|---|---|---|
| Настраиваемая форма | |||
| #18+ Это веб приложение, т.е. просто задисеблить контролы, нельзя. А как хранить поля, брать их ид просто из системных таблиц? или как? ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
|  | 
| 24.04.2003, 16:22 | |||
|---|---|---|---|
| Настраиваемая форма | |||
| #18+ 8-) Никогда не занимался разработкой веб приложений? А к контролам обращаться можешь? Если да то загоняй в таблу ролей не имена полей, а контрол.Name (Edit1.Name к примеру), а при активизации формы сверяй сго списоком в базе. И если есть то как нибудь давай доступ к контролу, чё совсем нет ни какой возможности отрубить контрол. Можно так еще попробывать ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
|  | 
| 25.04.2003, 09:58 | |||
|---|---|---|---|
| Настраиваемая форма | |||
| #18+ Ну, ты же сидишь в интернете! Вот ты можешь просмотреть код странички с формой, сохранитьего на диске и изменить атрибуты у контролов, изменить возможно придется путь отправки, атрибут актион у формы. Запустить страничку, набрать нужные данные и отправить их на сервер. Поэтому обычно в веб делают две проверки, на клиенте и на саервере, на клиенте она кстати только для удобства, а на сервере реальная, которой можно доверять.\r \r Здесь парочка советов по моему вопросу, если интересно. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
|  | 
| 25.04.2003, 10:35 | |||
|---|---|---|---|
| Настраиваемая форма | |||
| #18+ Вот ты можешь просмотреть код странички с формой, сохранитьего на диске и изменить атрибуты у контролов, изменить возможно придется путь отправки, атрибут актион у формы. Запустить страничку, набрать нужные данные и отправить их на сервер  Если ты передаешь данные через POST, то хрен ты так просто это сделаешь - страницу то ты у себя откроешь, и передашь себе, а не на сервер :) Ну а на сервере проблемы то? Ест список полей, которые можно редактировать - вот ты их и сохраняй, другие не трогай. А еще лучше, передавать весь набор значений в хп, а уж в ней смотреть, чего кто может ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
|  | 
| 25.04.2003, 11:53 | |||
|---|---|---|---|
| Настраиваемая форма | |||
| #18+ 2 Yola:  ....Поэтому обычно в веб делают две проверки, на клиенте и на саервере, на клиенте она кстати только для удобства, а на сервере реальная, которой можно доверять. В разделе MSSQL уже все было отвечено - информации более чем достаточно, особенно про реализацию на стороне СУБД. Обобщу: * Web-клиент - при работе в определенной роли пользователя имеет ту страницу, к-рая ему нужна - т.е под каждую роль нужна своя страница с полями/контролами. Также делает валидацию вводимых данных. (А если пользователь решил похакать - не страшно, т.к ему все равно ничего не светит на серверной стороне) * Web-сервер - выдает статические (хотя можно и динамически их строить) бизнес-страницы пользователю в зависимисти от его текущей роли. Возможно также делает какую-то валидацию вводимых данных дополнительно к серверу БД. * Сервер БД - всегда делает валидацию вводимых и ограничение выходных данных. 2 tygra: Если ты передаешь данные через POST, то хрен ты так просто это сделаешь - страницу то ты у себя откроешь, и передашь себе, а не на сервер :) Почему это он их себе передаст? Если этот офисный хацкер будет использовать полный URL в <form action=..>, то все он передаст Ну а на сервере проблемы то? Ест список полей, которые можно редактировать - вот ты их и сохраняй, другие не трогай. А еще лучше, передавать весь набор значений в хп, а уж в ней смотреть, чего кто может Присоединяюсь! Самый надежный способ, в конце концов пользовательских ролей у него не мильон ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
|  | 
| 
 | 

| start [/forum/topic.php?fid=32&mobile=1&tid=1546994]: | 0ms | 
| get settings: | 10ms | 
| get forum list: | 12ms | 
| check forum access: | 4ms | 
| check topic access: | 4ms | 
| track hit: | 43ms | 
| get topic data: | 10ms | 
| get forum data: | 2ms | 
| get page messages: | 44ms | 
| get tp. blocked users: | 2ms | 
| others: | 11ms | 
| total: | 142ms | 

 
    | 0 / 0 | 
