Rambler's Top100
"Knowledge itself is power"
F.Bacon
Поиск | Карта сайта | Помощь | О проекте | ТТХ  
 Базарная площадь
  
О разделе

Основная страница

Группы обсуждений


Тематический каталог обсуждений

Архив

 
 К н и г и
 
Книжная полка
 
 
Библиотека
 
  
  
 


Поиск
 
Поиск по КС
Поиск в статьях
Яndex© + Google©
Поиск книг

 
  
Тематический каталог
Все манускрипты

 
  
Карта VCL
ОШИБКИ
Сообщения системы

 
Форумы
 
Круглый стол
Новые вопросы

 
  
Базарная площадь
Городская площадь

 
   
С Л С

 
Летопись
 
Королевские Хроники
Рыцарский Зал
Глас народа!

 
  
ТТХ
Конкурсы
Королевская клюква

 
Разделы
 
Hello, World!
Лицей

Квинтана

 
  
Сокровищница
Подземелье Магов
Подводные камни
Свитки

 
  
Школа ОБЕРОНА

 
  
Арсенальная башня
Фолианты
Полигон

 
  
Книга Песка
Дальние земли

 
  
АРХИВЫ

 
 

Сейчас на сайте присутствуют:
 
  
 
Во Флориде и в Королевстве сейчас  12:53[Войти] | [Зарегистрироваться]
Обсуждение темы:
Delphi + UML

Хочу предложить новую тему - написание программ на Delphi с использованием объектного подхода типа UML (на реалиционной СУБД ), с помощью или без помощи разных CASE средств. Очень интересует примеры приложений !

Игорь Мазуров

Количество сообщений на странице

Порядок сортировки сообщений
Новое сообщение вверху списка (сетевая хронология)
Первое сообщение вверху списка (обычная хронология)

Перейти на конкретную страницу по номеру


Всего в теме 141 сообщение

Добавить свое сообщение

Отслеживать это обсуждение
<<<... | 41—32 | 31—22 | 21—12 | ...>>>
Всего сообщений в теме: 141; страниц: 15; текущая страница: 12


№ 31   14-12-2000 17:46 Ответить на это сообщение Ответить на это сообщение с цитированием
To Сергей Тарасов:
Ну я за три дня размышлений на эту тему что-то подобное вырисовал, но вот идея с шаблонами прав доступа - класс! Меня то больше всего вопрос мучал, что слишком громоздкое решение задачи получается, а хранить только отклонения от шаблона группы в голову не пришло :(
Можно идею поюзать? :-)

По поводу реализации: у Сергея описана только модель, а реализации совсем чуть-чуть. Я кое-что пробовал уже по ходу трехдневного изобретения велосипеда. Использование хранимых процедур действительно удобно (как верно заметил уважаемый Lamer). Создаем login и пароль доступа к БД, под которым будет конектиться наше приложение. Это имя не имеет прав к таблицам, а имеет только доступ к выполнению хранимых процедур, причем в эти процедуры в качестве параметра необходимо передать UID, выданный при вводе logina и пароля доступа к программной системе. (Пользователь вводит логин+пароль, вызывается хранимая процедура, которая в случае правильности ввода возвращает его UID.) Т.е. даже если злоумышленик взломал пароль, под которым приложение конектиться к БД, это не дает ему возможности получить информацию из таблиц данных в обход хранимых процедур. Таким образом получаем два уровня защиты: имя и пароль приложения, имя и пароль пользователя. Два уровня лучше чем один :)
Жду критики по поводу реализации.

P.S. Приложение создается под MSSQL7.0. Все эксперименты соответственно с ним.


№ 30   14-12-2000 14:53 Ответить на это сообщение Ответить на это сообщение с цитированием
Коллеги, несколько лет назад я реализовывал систему безопасности ан TSQL. Возможно вам будет интересно ознакомится с моделью, приведенной в статье.
http://www.arbinada.com/articles.html

Кстати, мой сайт перехал на
http://www.arbinada.com


№ 29   14-12-2000 13:07 Ответить на это сообщение Ответить на это сообщение с цитированием
А еще лучше - хранимые процедуры. Можно и выборки нужные делать. И ограничений меньше ( как отсутствие order by в view ).


№ 28   14-12-2000 13:00 Ответить на это сообщение Ответить на это сообщение с цитированием
В догонку...
Хотя вообще-то это будет ограничение прав доступа на стороне
клиентской части, правильнее все же использовать View.


№ 27   14-12-2000 12:39 Ответить на это сообщение Ответить на это сообщение с цитированием
to Warcat
Сложная система+сложные запросы -> сложная система разграничения прав доступа.
Вообще для каждой таблицы (или для группы таблиц) может быть своя функция проверки, какие строки можно "показывать" данному пользователю, а какие нет.
Для реализации функции разграничения прав доступа возможно потребуются дополнительные "конфигурационные" таблицы.
Что касается рассчетов, то они должны быть реализованы на "стороне" сервера в виде отдельных процедур, функций, пакетов (и т.п.)


№ 26   14-12-2000 12:18 Ответить на это сообщение Ответить на это сообщение с цитированием
to BAV:
100 таблиц, 100 пользователей! + сложные запросы (выводить эту информацию пользователям нельзя, а в расчете она участвовать должна) + делегирование прав от пользователя к пользователю + необходимость это все администрировать. Вопрос в том, какие структуры данных необходимы для вычисления функции "функция_проверки_прав(user)". Вопрос в организации взаимосвязи между объектами и между таблицами. Простой проверкой: if "сидоров" then "выводить информацию" здесь не обойтись. Скорее так: if "сидоров" then "выводить информацию из определенных строк и столбцов, а в расчете применять определенные строки других таблиц". Как и где хранить информацию об "определенных" строках и столбцах?

to All: интересуют не только ршения, но и идеи, модели. Все-таки тема про UML :)

И вообще такая организация системы безопасности реальна?


№ 25   14-12-2000 11:57 Ответить на это сообщение Ответить на это сообщение с цитированием
to Warcat
Выбирать (апдейтить etc) строки, пока функция возвращает определеное значение

Например,
select ...
from ...
where функция_проверки_прав(user)=1;

В самой функции реализуешь проверку что можно пользователю user.
Или я может вопрос не так понял?


№ 24   14-12-2000 11:01 Ответить на это сообщение Ответить на это сообщение с цитированием
to BAV:
Прошу прощения. А нельзя ли подробнее. Каким образом мне поможет функция в условиях запроса? Имеется ввиду в каждом запросе проверять возможность его выполнения для текущего пользователя? А как в таком случае организовать администрирование системы безопасности?

Насчет View: для групп пользователей это действительно хороший вариант (досконально еще не разбирался), но требования ТЗ - разграничение прав на уровне пользователя. А пользователей в системе может быть больше 100. А последнее требование: делегирование прав доступа. :-((( Эх... огрчает меня это.


№ 23   14-12-2000 09:31 Ответить на это сообщение Ответить на это сообщение с цитированием
2Warcat
Может быть использовать функцию в условии запроса?


№ 22   14-12-2000 09:14 Ответить на это сообщение Ответить на это сообщение с цитированием
WarCat - а может создать горизонтальные представления (View)
для групп пользователей?
Тогда каждый пользователь будет обращаться не к таблицам напрямую, а к представлению, которое будет содержать только то что ему можно видеть.
 JINX


<<<... | 41—32 | 31—22 | 21—12 | ...>>>
Всего сообщений в теме: 141; страниц: 15; текущая страница: 12


Добавить свое сообщение

Отслеживать это обсуждение

Дополнительная навигация:
Количество сообщений на странице

Порядок сортировки сообщений
Новое сообщение вверху списка (сетевая хронология)
Первое сообщение вверху списка (обычная хронология)

Перейти на конкретную страницу по номеру
  
Время на сайте: GMT минус 5 часов

Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.
Функция может не работать в некоторых версиях броузеров.

Web hosting for this web site provided by DotNetPark (ASP.NET, SharePoint, MS SQL hosting)  
Software for IIS, Hyper-V, MS SQL. Tools for Windows server administrators. Server migration utilities  

 
© При использовании любых материалов «Королевства Delphi» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
Все используемые на сайте торговые марки являются собственностью их производителей.

Яндекс цитирования