PDA

View Full Version : تعیین سطح دسترسی افراد (کاربران نرم افزار)



top7news
پنج شنبه 19 اردیبهشت 1387, 16:41 عصر
سلام به دوستای گل
در مورد تعیین سطح دسترسی برای کاربران یک سیستم چند کاربره
به نظرتون بهترین روش چیه؟
یعنی توی SQL برای کاربای سیستمم محدودیت بذارم یا توی نرم افزار
در هر کدوم از دو مورد بالا اگه میشه بهترین روش و برام بگین
ممنون میشم هر کس نظر دیگه هم داره بگه
ممنون و یا حق

bachebahal_1363
پنج شنبه 19 اردیبهشت 1387, 16:56 عصر
سلام دوست عزیز
به نظر من زیاد از طریق نرم افزار محدودیت بزاری خیلی راحت تر هستی
چون بنده دقیقا در صفحه دوم این تاپیک مطلبی رو سوال کرده بودم در مورد چگونگی تغییرات نرم افزار با توجه به تعیین دسترسی کاربر در SQl سرور یعنی اگر کاربری برای مثال فقط حق خواندن اطلاعات را داشته باشه زمانی که به Sql لاگین کرد برنامه به طور اتوماتیک حق دسترسی اون رو از Sql بخونه و برنامه تغییرات لازم رو به صورت اتوماتیک انجام بده اما هیچ نتیجه ای در بر نداشت

mohammed
شنبه 11 خرداد 1387, 14:08 عصر
اگر این سوال را در گروه SQL Server سوال کنی احتمالا جواب دیگری خواهی گرفت. :-)

hassan razavi
شنبه 11 خرداد 1387, 14:21 عصر
در چندین پست در مورد این موضوع تا حالا بحث و گفتگو شده. به اون تاپیک ها هم سری بزنید

top7news
شنبه 11 خرداد 1387, 14:47 عصر
سلام به همه
ممنون که توجه کردین
من هم توی تالار sql این سئوال و کردم هم توی تاپیک های دیگه جستجو کردم
به جواب درست و پیمونی نرسیدم
متاسفانه تازگی ها کسایی که سئوال میکنن و به جواب میرسن
نتیجه رو واسه بقیه هم نمیذارن که
همه استفاده کنن

hozouri
شنبه 11 خرداد 1387, 14:53 عصر
شما میتونید خیلی راحت و با امنیت بالا از طریق یه فیلد numeric که فقط خودتوت می دونید هر عدد کدوم بخش برنامه رو فعال میکنه :
مثلاً عدد 010 میتونه بیانگر این باشه که :
بخش اولی غیر فعال بخش دومی فعال بخش سومی غیر فعال
با 013 :
بخش اولی غیر فعال بخش دومی فعال بخش سومی فعال (البته مثلاً توی بخش سومی پرینت غیر فعال باشه)

که به این روش میگن کد گذاری داده ها و فقط خودتون از الگوریتم اون سر در میاره و اگر هم کسی به این کد ها برخورد کنه تا مدت ها طول می کشه که کشف رمز کنه

linux
شنبه 11 خرداد 1387, 15:16 عصر
سلام به همه
ممنون که توجه کردین
من هم توی تالار sql این سئوال و کردم هم توی تاپیک های دیگه جستجو کردم
به جواب درست و پیمونی نرسیدم
متاسفانه تازگی ها کسایی که سئوال میکنن و به جواب میرسن
نتیجه رو واسه بقیه هم نمیذارن که
همه استفاده کنن
اگر جواب نمی گیری برای این هست که قبلا جواب داده شده است.
خلاصه اینکه
1- می توانید از خود دسترسی هایی که sql می دهد استفاده کنید.که در اکثر موارد آن چیزی نیست که شما احتیاج دارید.
2 - چندتا جدول به دیتابیس خودتان اضافه کنیدکه برای نگهداری نام کاربرها و دسترسی ها و... با استفاده از آنها دسترسی ها را کنترل کنید

top7news
شنبه 11 خرداد 1387, 16:55 عصر
سلام
ممنون آقای حضوری ولی اگه میشه واضح تر بگین منظورتون رو
راستش نگرفتم منظورت رو
در مورد حرفای دوست خوبم linux

اگر جواب نمی گیری برای این هست که قبلا جواب داده شده است.
اگه تاپیک های قبلی و خونده بودی یا با دقت می خوندی گفتم که موضوع های مشابه و خوندم و به جواب نرسیدم وگرنه منم انقدر وقت آزاد ندارم که بیام و اینجا موضوع تکراری مطرح کنم.
ضمنا من نگفتم که چیزی بلد نیستم بلکه خواستم نظر صاحب نظرای امر رو بدونم.
بازم ممنون

linux
شنبه 11 خرداد 1387, 19:55 عصر
سلام
ممنون آقای حضوری ولی اگه میشه واضح تر بگین منظورتون رو
راستش نگرفتم منظورت رو
در مورد حرفای دوست خوبم linux

اگه تاپیک های قبلی و خونده بودی یا با دقت می خوندی گفتم که موضوع های مشابه و خوندم و به جواب نرسیدم وگرنه منم انقدر وقت آزاد ندارم که بیام و اینجا موضوع تکراری مطرح کنم.
ضمنا من نگفتم که چیزی بلد نیستم بلکه خواستم نظر صاحب نظرای امر رو بدونم.
بازم ممنون
من از جداول زیر برای نگهداری دسترسی ها و سایر اطلاعات مربوط به کاربر استفاده می کنم

top7news
شنبه 11 خرداد 1387, 22:40 عصر
ممنون
اگه درست متوجه شده باشم شما تمام سطح دسترسی هایی که خود SQL گذاشته رو با این جدول ها برای برنامه خودت پیاده سازی کردی درسته؟؟
یعنی همه کارها و امکانات کاربری توی این چند تا جدول ذخیره میشه درسته؟؟
بعد اگه همین تنظیمات بیوفته دست کسی که تمام امنیت نرم افزارت زیر سئوال میره؟
کدهای بانکت رو hash کردی یا الگوریتم خودت رو داری؟

linux
یک شنبه 12 خرداد 1387, 01:24 صبح
ممنون
اگه درست متوجه شده باشم شما تمام سطح دسترسی هایی که خود SQL گذاشته رو با این جدول ها برای برنامه خودت پیاده سازی کردی درسته؟؟
یعنی همه کارها و امکانات کاربری توی این چند تا جدول ذخیره میشه درسته؟؟
بعد اگه همین تنظیمات بیوفته دست کسی که تمام امنیت نرم افزارت زیر سئوال میره؟
کدهای بانکت رو hash کردی یا الگوریتم خودت رو داری؟

من با دسترسی های sql کار نمی کنم، یک سری آکتیویتی تعریف می کنم با آنها کار می کنم.
این مدل با مدل دسترسی که در sql servre هست فرق می کنه،
اکثر برنامه ها اینجوری پیاده سازی می کنند، یکیش همین انجمن برنامه نویسان. یا اکثر برنامه های CMS . شاید یکمی پیچیده تر.
اگر کسی به اینجا رسیده باشه که این جداول را ببیند دیگر بدون اینکه بخواهد از این برنامه من استفاده کند می تواند کلا دیتابیس را دستکاری کنه.چون من فقط برای دیتابیسم یک کاربر در sql servre تعریف می کنم که آن هم owner هست.

فقط پسوردهای کاربران با md5 یا هر الگوریتم دیگر هش می شوند.
در حالت کلی نمیشه از خود سکوریتی sql سرور برای دسترسی ها استفاده کرد معمولا پیاده سازیش خیلی سخت هست.
می توانی در بخش sql از آقای ثباتی بیشتر بپرسی

علیرضا مداح
یک شنبه 12 خرداد 1387, 07:51 صبح
سلام دوست عزیز ،
مسلما" روش بهتر و با امنیت بیشتر ، بهره گیری از امکانات SQL Server میباشد ، اما معمولا" این روش مستلزم اینست که یک نفر آشنا به SQL در شرکت مشتری باید نگهداری را بر عهده گیرد و همچنین پیچیدگیهای دیگری را نیز شامل میگردد ، به همین خاطر عموما" هر شرکتی/شخصی مکانیزم خاص خود را برای پیاده سازی سیستم سطوح دسترسی دارا میباشد ، /