Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Права доступа  [new]
syavik
Member

Откуда:
Сообщений: 107
Добрый день.
Пользователи sql тягают через вьюхи себе отчеты.
Для каждого пользователя созданы свои вьюхи с отличием в только в одном ID выборки, хочется избавится от их нагромождения.
Возможно ли прописать во вьюху - "такой-то пользователь может взять данные только с таким ID таблицы". Сильно не пинайте.
Заранее спасибо!






Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (Intel X86)
Jun 17 2011 00:57:23
Copyright (c) Microsoft Corporation
Enterprise Edition on Windows NT 5.2 <X86> (Build 3790: Service Pack 2) (Hypervisor)
1 фев 13, 11:25    [13860727]     Ответить | Цитировать Сообщить модератору
 Re: Права доступа  [new]
_ч_
Member

Откуда:
Сообщений: 1439
syavik,

т.е. вы хотите сделать одну view для всех пользователей, а внутри нее разграничить доступ к строкам в таблице-таблицах?
1 фев 13, 11:30    [13860754]     Ответить | Цитировать Сообщить модератору
 Re: Права доступа  [new]
syavik
Member

Откуда:
Сообщений: 107
_ч_,

Да, Вы абсолютно правильно меня поняли.
1 фев 13, 11:36    [13860794]     Ответить | Цитировать Сообщить модератору
 Re: Права доступа  [new]
Glory
Member

Откуда:
Сообщений: 104751
syavik
Возможно ли прописать во вьюху - "такой-то пользователь может взять данные только с таким ID таблицы". Сильно не пинайте.

Использовать фильтры
WHERE "если пользователь1, то ID =1, если пользователь2, то ID = 2"
1 фев 13, 11:38    [13860810]     Ответить | Цитировать Сообщить модератору
 Re: Права доступа  [new]
syavik
Member

Откуда:
Сообщений: 107
Glory,

Спасибо за информацию. Если Вас не затруднит, можете более подробнее написать синтаксис?


create table #t (id int, data varchar (20))
insert into #t select 1,'value1'
insert into #t select 2,'value2'
insert into #t select 2,'value3'
select * from #t where...
1 фев 13, 12:02    [13861004]     Ответить | Цитировать Сообщить модератору
 Re: Права доступа  [new]
Glory
Member

Откуда:
Сообщений: 104751
Мда уж
WHERE (id=1 AND USER_NAME()='User1')
1 фев 13, 12:10    [13861057]     Ответить | Цитировать Сообщить модератору
 Re: Права доступа  [new]
syavik
Member

Откуда:
Сообщений: 107
Glory,

Спасибо! Просто возникли почему-то мысли про "if"
1 фев 13, 12:13    [13861087]     Ответить | Цитировать Сообщить модератору
 Re: Права доступа  [new]
Гость333
Member

Откуда:
Сообщений: 3683
syavik,

Вот можете ещё почитать: http://www.mssqltips.com/sqlservertip/2186/how-to-setup-row-level-security-for-sql-server/.
1 фев 13, 12:16    [13861108]     Ответить | Цитировать Сообщить модератору
 Re: Права доступа  [new]
syavik
Member

Откуда:
Сообщений: 107
Гость333,

Спасибо, обязательно ознакомлюсь.
1 фев 13, 12:45    [13861308]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить