Переключение на Главную Страницу Страницы: 1 ... 3 4 [5] 6 7 8 ОтправитьПечать
Очень популярная тема (более 25 ответов) OFF: windows авторизация на SQL'е (число прочтений - 34553 )
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: OFF: windows авторизация на SQL'е
Ответ #60 - 29. Сентября 2009 :: 08:53
Печать  
ArtInSky писал(а) 29. Сентября 2009 :: 06:44:
Win-авторизацию сделал так, как ты писал.  Только права юзерам порезал. Им совсем ни к чему db_owner. Достаточно db_reader&db_writer на уровне базы данных и db_creator на уровне сервера(поскольку при старте 1С использует alter database).


Я здесь вроде писал, что сделал win-авторизации под правами db_reader&db_writer, так что db_creator тоже не нужен.

Честна сказать, у себя я всё переделал, дал нормальные человеческие имена хранимым процедурам + создал пару вспомогательных хранимок для раздачи прав после изменений в БД и добавления нового юзера.
  
Наверх
 
IP записан
 
ArtInSky
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 41
Зарегистрирован: 26. Июня 2009
Re: OFF: windows авторизация на SQL'е
Ответ #61 - 29. Сентября 2009 :: 08:57
Печать  
chessman писал(а) 29. Сентября 2009 :: 08:53:
ArtInSky писал(а) 29. Сентября 2009 :: 06:44:
Win-авторизацию сделал так, как ты писал.  Только права юзерам порезал. Им совсем ни к чему db_owner. Достаточно db_reader&db_writer на уровне базы данных и db_creator на уровне сервера(поскольку при старте 1С использует alter database).


Я здесь вроде писал, что сделал win-авторизации под правами db_reader&db_writer, так что db_creator тоже не нужен.

Честна сказать, у себя я всё переделал, дал нормальные человеческие имена хранимым процедурам + создал пару вспомогательных хранимок для раздачи прав после изменений в БД и добавления нового юзера.


Наверное, невнимательно прочитал, сорри.
Ты view использовал для ограничения доступа?
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: OFF: windows авторизация на SQL'е
Ответ #62 - 29. Сентября 2009 :: 09:02
Печать  
Честна сказать нет, у меня нет такой необходимости. Я все это делал только ради наработок на будущее. Но вообще мне эта тема очень интересна.
  
Наверх
 
IP записан
 
ArtInSky
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 41
Зарегистрирован: 26. Июня 2009
Re: OFF: windows авторизация на SQL'е
Ответ #63 - 29. Сентября 2009 :: 09:18
Печать  
chessman писал(а) 29. Сентября 2009 :: 09:02:
Честна сказать нет, у меня нет такой необходимости. Я все это делал только ради наработок на будущее. Но вообще мне эта тема очень интересна.


Нда, снова один Улыбка
Борюсь с инсертом на view. Как только что выйдет - маякну.
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: OFF: windows авторизация на SQL'е
Ответ #64 - 29. Сентября 2009 :: 09:56
Печать  
ArtInSky писал(а) 29. Сентября 2009 :: 09:18:
chessman писал(а) 29. Сентября 2009 :: 09:02:
Честна сказать нет, у меня нет такой необходимости. Я все это делал только ради наработок на будущее. Но вообще мне эта тема очень интересна.


Нда, снова один Улыбка
Борюсь с инсертом на view. Как только что выйдет - маякну.


Вообще, я делать view с отбором элементов, все вроде работатет, справочник виден, элементы можешь создавать/изменять.
В чем у тебя затык?
  
Наверх
 
IP записан
 
ArtInSky
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 41
Зарегистрирован: 26. Июня 2009
Re: OFF: windows авторизация на SQL'е
Ответ #65 - 29. Сентября 2009 :: 11:43
Печать  
chessman писал(а) 29. Сентября 2009 :: 09:56:
ArtInSky писал(а) 29. Сентября 2009 :: 09:18:
chessman писал(а) 29. Сентября 2009 :: 09:02:
Честна сказать нет, у меня нет такой необходимости. Я все это делал только ради наработок на будущее. Но вообще мне эта тема очень интересна.


Нда, снова один Улыбка
Борюсь с инсертом на view. Как только что выйдет - маякну.


Вообще, я делать view с отбором элементов, все вроде работатет, справочник виден, элементы можешь создавать/изменять.
В чем у тебя затык?


У меня не работает ограничение видомости колонок. Я регулирую видимость в предикате SELECT view. Все уперлось в ROW_ID. Это поле не должно фигурировать во view из-за свойства identity (при вставке поле не должно стоять в списке колонок). Но, в таком случае не проходит, например, инструкция "Спр.НайтиПоКоду()" (в профайлере она выглядит как:
select * from SC838(NOLOCK)            where CODE='artinsky        ' order by CODE
). В менеджмент студио запрос выполняется на ура.
Самое смешное, что данная ошибка уходит, если проиндексировать view(т.е., создать такие же индексы, как и у защищаемой таблицы), а индексы view базируются все на том же ROW_ID. Какой-то замкнутый круг. Используешь ROW_ID во вью - селект не проходит, не используешь - найти по коду не проходит.
  
Наверх
 
IP записан
 
ArtInSky
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 41
Зарегистрирован: 26. Июня 2009
Re: OFF: windows авторизация на SQL'е
Ответ #66 - 29. Сентября 2009 :: 11:54
Печать  
Z1 писал(а) 25. Сентября 2009 :: 06:23:
ArtInSky писал(а) 24. Сентября 2009 :: 15:57:
Андрей, спасибо за информацию. Я работаю с T-SQL достаточно давно. Проблема находится на ДРУГОМ уровне. Я хочу, чтобы даже программисты 1С не имели возможности при помощи тех же прямых запросов получать информацию, которую им не положено видеть. Т.е., даже написав что-то подобное:
Код
Выбрать все
Сет = СоздатьОбъект("ODBCRecordSet");
текст = "
|select * from sc838
|";
ТабИтоги = Сет.ВыполнитьИнструкцию(Текст);
 


они получили информацию только из тех колонок, которые им доступны. Это я реализовал с помощью view.
Задача стоит так: при записи таких таблиц с ограниченным доступом мне нужно, чтобы ОБНОВЛЯЛИСЬ ТОЛЬКО ТЕ колонки,которые им доступны. Написать прямой апдейт не проблема. Проблема, чтобы 1С корректно отрабатывала такой запрос. Конечно, можно все заменить на вызовы методов своих классов, но проект в таком случае станет резиновым по срокам - большая конфигурация

понятно.
но все равно в файле dds должна быть полная информация обо всех колонках всех таблиц базы 1с .
Так что скрыть от всех программистов проблематично.
Вторая проблема  скрыть чтобы эти программисты не получили
достут к базе master и к sp_help и аналогичным.

Тригер по идее должен получиться.Я ни разу не делал тригер на view.


Улыбка Так и пускай себе видят структуру мд. SQL лежит на уровень ниже. Перед исполнение любого sQL запроса на стороне сервера будт производиться контроль прав и фильтрация данных. Как уже здесь говорилось, у каждого свой логин. Мы ассоциируем его с теми базами, которыми нам нужно. Не хотим пускать программиста к мастера, так и не надо.
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: OFF: windows авторизация на SQL'е
Ответ #67 - 29. Сентября 2009 :: 12:17
Печать  
ArtInSky писал(а) 29. Сентября 2009 :: 11:43:
Самое смешное, что данная ошибка уходит, если проиндексировать view(т.е., создать такие же индексы, как и у защищаемой таблицы), а индексы view базируются все на том же ROW_ID. Какой-то замкнутый круг. Используешь ROW_ID во вью - селект не проходит, не используешь - найти по коду не проходит.


А как ты индексы создаешь у view? В студии есть такой пункт, но сколько я не пробовал нифига не получается.
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: OFF: windows авторизация на SQL'е
Ответ #68 - 29. Сентября 2009 :: 13:10
Печать  
chessman писал(а) 29. Сентября 2009 :: 12:17:
ArtInSky писал(а) 29. Сентября 2009 :: 11:43:
Самое смешное, что данная ошибка уходит, если проиндексировать view(т.е., создать такие же индексы, как и у защищаемой таблицы), а индексы view базируются все на том же ROW_ID. Какой-то замкнутый круг. Используешь ROW_ID во вью - селект не проходит, не используешь - найти по коду не проходит.


А как ты индексы создаешь у view? В студии есть такой пункт, но сколько я не пробовал нифига не получается.

В sql200 индексы на view можно делать только в версии Enterprice Edition
В sql2005 индексы на view можно делать в любой редакции.
Если мы хотим индексировать представление то обязательно должен быть кластерный индекс на представление.
После этого можно создать еще другой индекс на view.
Для создание индекса в  view должно быть создано с опцией SCHEMABINDIDING
Код
Выбрать все
ALTER VIEW zzz WITH SCHEMABINDIDING AS ...
 

  
Наверх
 
IP записан
 
ArtInSky
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 41
Зарегистрирован: 26. Июня 2009
Re: OFF: windows авторизация на SQL'е
Ответ #69 - 29. Сентября 2009 :: 13:14
Печать  
Z1 писал(а) 29. Сентября 2009 :: 13:10:
chessman писал(а) 29. Сентября 2009 :: 12:17:
ArtInSky писал(а) 29. Сентября 2009 :: 11:43:
Самое смешное, что данная ошибка уходит, если проиндексировать view(т.е., создать такие же индексы, как и у защищаемой таблицы), а индексы view базируются все на том же ROW_ID. Какой-то замкнутый круг. Используешь ROW_ID во вью - селект не проходит, не используешь - найти по коду не проходит.


А как ты индексы создаешь у view? В студии есть такой пункт, но сколько я не пробовал нифига не получается.

В sql200 индексы на view можно делать только в версии Enterprice Edition
В sql2005 индексы на view можно делать в любой редакции.
Если мы хотим индексировать представление то обязательно должен быть кластерный индекс на представление.
После этого можно создать еще другой индекс на view.
Для создание индекса в  view должно быть создано с опцией SCHEMABINDIDING
Код
Выбрать все
ALTER VIEW zzz WITH SCHEMABINDIDING AS ...
 


Ну да, так с этим проблем и нет
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: OFF: windows авторизация на SQL'е
Ответ #70 - 29. Сентября 2009 :: 13:22
Печать  
Z1 писал(а) 29. Сентября 2009 :: 13:10:
В sql200 индексы на view можно делать только в версии Enterprice Edition


Вот облом  Печаль
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: OFF: windows авторизация на SQL'е
Ответ #71 - 29. Сентября 2009 :: 13:23
Печать  
chessman писал(а) 29. Сентября 2009 :: 13:22:
Z1 писал(а) 29. Сентября 2009 :: 13:10:
В sql200 индексы на view можно делать только в версии Enterprice Edition


Вот облом  Печаль

Ставь 2005 Подмигивание
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: OFF: windows авторизация на SQL'е
Ответ #72 - 29. Сентября 2009 :: 13:29
Печать  
JohnyDeath писал(а) 29. Сентября 2009 :: 13:23:
chessman писал(а) 29. Сентября 2009 :: 13:22:
Z1 писал(а) 29. Сентября 2009 :: 13:10:
В sql200 индексы на view можно делать только в версии Enterprice Edition


Вот облом  Печаль

Ставь 2005 Подмигивание


Его покупать нада  Улыбка.
Эх, может дома Enterprice стоит  Круглые глаза
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: OFF: windows авторизация на SQL'е
Ответ #73 - 29. Сентября 2009 :: 13:30
Печать  
chessman писал(а) 29. Сентября 2009 :: 13:22:
Z1 писал(а) 29. Сентября 2009 :: 13:10:
В sql200 индексы на view можно делать только в версии Enterprice Edition


Вот облом  Печаль

Переходи на 2005.
В нем много улучшений и sp3 2005 c 1c77 нет проблем.
хотя сами сидим на sql200. с 2005 все отладил на одном филиале
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: OFF: windows авторизация на SQL'е
Ответ #74 - 29. Сентября 2009 :: 13:31
Печать  
chessman писал(а) 29. Сентября 2009 :: 13:29:
Его покупать нада  Улыбка.

Не обязательно
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 3 4 [5] 6 7 8
ОтправитьПечать