PDA

View Full Version : سوال: Column Deny In SQL Server



Arghavan_Reza
چهارشنبه 27 آبان 1388, 13:20 عصر
سلام
اگر ستون های از یک جدول (Table1) برای کاربری Deny شود. دستور SELECT * FROM Table1 خطا میدهد. چه کنیم که بدون تغییر دستورات هر کاربری با توجه به دسترسی تعریف شده فقط به ستون های مجاز دسترسی داشته باشد؟

Reza.ariyan
چهارشنبه 27 آبان 1388, 15:18 عصر
برای Athentication و Authorization من برای خودم ساختاری رو درست کردم که دیاگرام اون رو میزارم
Deny کردن کاربرها بچه بازیه - هیچ وقjت از روشهای مایکروسافت استفاده نکن - چون همیشه اونطوری که میخوای نیستن و همیشه یه چاشون میلنگه
مثل Microsoft Roles and Membership

کاری که من کردم اینه که :
1 . یک جدوا برای کاربرها دارم
یک جدول برای Role هم (گروه های کاربری)
بین این دو جدول رابطه N→N زدم

2. یک جدول Objects دارم که کل عناصر بانک اطلاعاتی رو تو خودش نگه میداره (اعم از Table ها و Column ها و حتی میتونه Row ها و SP , Function و ... هم باشند)
یک جدول Permissions (دسترسی) دارم که میشه توش به گروه ها دسترسی بدیم
مثلا به گروه PowerUsers دسترسی خواندن و نوشتن از Object ی به نام X را میدهیم

تو این سیستم همه چیز به شکل Object های بانک اطلاعاتی شناخته میشه و اطلاعاتشون در جدول objects ثبت میشه و به اوون ها دسترسی هایی رو میدیم
نوع دسترسی هم در جدول PermissionTypes تعریف میشه (مثلا : Read- Write- Delete,...)

این روش تقریبا Full Dynamic هست

Arghavan_Reza
پنج شنبه 28 آبان 1388, 15:57 عصر
با تشکر از پاسخ شما.
اما کدام از امکانات و توانمندیهای SQL پاسخ سوال من هست؟

Reza.ariyan
جمعه 29 آبان 1388, 18:11 عصر
با تشکر از پاسخ شما.
اما کدام از امکانات و توانمندیهای SQL پاسخ سوال من هست؟
سوالتون رو متوجه نشدم

Arghavan_Reza
یک شنبه 08 آذر 1388, 18:42 عصر
می خواهیم با استفاده از امکانات SQL پاسخ این سوال را پیدا کنیم که:
اگر ستون های از یک جدول (Table1) برای کاربری Deny شود. دستور SELECT * FROM Table1 خطا میدهد. چه کنیم که بدون تغییر دستورات هر کاربری با توجه به دسترسی تعریف شده فقط به ستون های مجاز دسترسی داشته باشد؟