ورود

View Full Version : مشکل با تعیین دسترسی کاربر



oliya24
شنبه 24 تیر 1391, 17:48 عصر
سلام و خسته نباشید دوستان من یه کار بر ساختم و تمامی تنظیمات مربوط به اون رو انجام دادم البته با موفقیت
و یک دستور هم نوشتم که این کاربر نتونه عمل خواندن رو انجام بده (selectt) ولی متاسفانه این دستورات grant , deny رو نمیتونم انجام بدم یعنی من را حت میتونم از جدول مورد نظر سلکت رو بگیرم در صورتی که نباید اینگونه باشه!!!!!!
نمیدونم مشکل چیه الان هم که این کارها را دارم انجام میدم با sa لاگین شدم میه خواهشا من رو یاری کنید
با تشکر
این هم کدهام
exec
sp_addrole 'myrole'

go

exec
sp_addlogin 'benyamin','00127'

go

create
user ghazal for login benyamin

go

exec
sp_addrolemember 'db_owner','ghazal'

go

grant
create table to myrole

grant
select on market.dbo.factor to myrole

go

deny
select on customer to myrole

go

select
* from customer

pashna
سه شنبه 27 تیر 1391, 10:06 صبح
سلام، فکر کنم این کمکت کنه :



USE [MyDatabase]
GO
CREATE ROLE [ReadOnly]
GO
use [MyDatabase]
GO
GRANT SELECT ON [dbo].[Table] TO [ReadOnly]
GO





من اینجا اول ۱ رول تعریف کردم، بد ۱ یوزر تعریف کردم و در نهیات یوزر رو اضافه کردم به رول ممبر



USE [master]
GO
CREATE LOGIN [Test] WITH PASSWORD=N'1234', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
GO
USE [MyDatabase]
GO
CREATE USER [Test] FOR LOGIN [Test]
GO
USE [MyDatabase]
GO
ALTER ROLE [ReadOnly] ADD MEMBER [Test]
GO





شما میتونید یوزرِ موجود رو تغییر دسترسی‌ بدید، من ۱ یوزرِ جدید ساختم.
یوزرِ تست فقط میتونه جدول هارو "SELECT" کنه، نه میتونه "UPDATE" کنه و نه میتونه "DELETE"

oliya24
سه شنبه 27 تیر 1391, 16:26 عصر
با سلام دستت درد نکنه دوست عزیز و لی من این کد رو تست کردم و به جوابی نرسیدم میشه خودتون این کد رو تست کنید ممنون میشم باتشکر

pashna
سه شنبه 27 تیر 1391, 19:34 عصر
حق با شما است، من این دفعه عکس هارو آپلود می‌کنم

pashna
سه شنبه 27 تیر 1391, 20:27 عصر
فکر می‌کنم این کمکتون کنه

89897

89898
89899
89900
89901

pashna
سه شنبه 27 تیر 1391, 20:30 عصر
اینم باقیش
89903
89904

oliya24
سه شنبه 27 تیر 1391, 21:31 عصر
میشه بگید کلا برای اینکه بتونم سطح دسترسی روی جداول بزارم باید چه کنم منظورم رول و یوزر و لاگینه خیلی بد رقم گیج شدم
ممنونم
میشه مراحل و رون و رویه کار رو برام توضیح بدید

baktash.n81@gmail.com
چهارشنبه 28 تیر 1391, 08:11 صبح
فرض کنیم شما توی یه آپارتمان 10 واحدی زندگی می کنید ... برای ورود به کل آپارتمان یه در وجود داره ... و هر خونه هم برای خودش یه در داره ... وقتی شما از در اصلی آپارتمان داخل می شی ... یعنی شما کلید ورود به آپارتمان رو داری ... این همون Login ... حالا برای اینکه وارد خونتون بشی به یه کلید دیگه احتیاج داری ... که این همون User هست ...

در کل Login ها دست رسی به سرور هستند ولی لزوما به بانک اطلاعاتی دسترسی ندارند تا زمانی که User تعریف کنیم ... User ها دسترسی به بانک های اطلاعاتی دارند ...

اما Role ها فرض کن 1000 تا کاربر داری روی SQL که باید بهشون دسترسی های یکسان بدی ... می خوای برای همشون تک تک دسترسی تعریف کنی .. ؟! نه یه Role می سازی دسترسی ها رو براش تعریف می کنی ... و 1000 تا کاربر رو به Role ی که ساختی وصل می کنی ... احتمالا خودت هم فهمیدی که هم Server Role داریم هم Database Role ...

baktash.n81@gmail.com
چهارشنبه 28 تیر 1391, 08:15 صبح
مراحل ... شما برای بانکت یه سری role تعریف می کنی ... (البته اگه اونایی که پیش فرض هستند کفایت نمی کنن) ... بعد یه login تعریف می کنی ... و در قسمت User Mapping اون دسترسی به بانک رو می دی ...

pashna
چهارشنبه 28 تیر 1391, 09:38 صبح
سلام، من ۱ ویدئو فرستم به ایمیلتون، لطفا اگر خواستید اینجا آپلودش کنید بقیهٔ دوستان هم اگر مشکله مشابهی داشتن بر طرف بشه