PDA

View Full Version : کلاینت / سرور و SQL



bachebahal_1363
شنبه 14 اردیبهشت 1387, 20:55 عصر
سلام خدمت دوستان
فکر نمی کنم این بحث در این سایت مطرح شده باشه
حداقل با حستجو های من نتیجه ای نداشت
من یک برنامه کلاینت / سرور دارم که نرم افزار سرور با بانک اطلاعاتی SQL server در ارتباط هست
حال من چند User یا LogIn در بانک اطلاعاتیم برای چند کاربر تعریف می کنم با حق دسترسی های متفاوت
برای مثال :
1- علی حق فقط read داره
2- حسین هم حق read و هم write داره
3- مرتضی تمامی امکانات از قبیل read , write , backup , restore و ...
حال چگونه اگر زمانی که علی روی کلاینت به سرور Login کرد نرم افزار کلاینت از SQl تشخیص بده که حق دسترسی علی چگونه هست و نرم افزار کلاینت به صو.رت خودکار نیز حق دسترسی علی رو برای مثال کلید های حذف و ذخیره و ... را غیر فعال کنه.
از دوستانی که در این مورد اطلاعاتی دارند درخواست کمک دارم

bachebahal_1363
یک شنبه 15 اردیبهشت 1387, 07:58 صبح
مثل اینکه واقعا کسی چیزی نمی دونه

bachebahal_1363
یک شنبه 15 اردیبهشت 1387, 13:55 عصر
از دوستان با سابقه هم کسی نیست که در این مورد چیزی بدونه؟

hassan razavi
یک شنبه 15 اردیبهشت 1387, 14:09 عصر
بهتره سوالتون رو به بخش SQL Server منتقل کنید

captain_black81
یک شنبه 15 اردیبهشت 1387, 14:14 عصر
روشی که من انجام میدم اینطوریه که یک تیبل دسترسی درست میکنم با فیلدهای
-------------------------------------------------------------------------------------------
usercode | permition 1 | permition 2
---------------------------------------------------------------------------------------=--
الی آخرو مثلا permition 1 یعنی دسترسی write
حالا توی برنامه موقع ذخیره میری و پرمیشن 1 رو چک میکنی و اگه true بود راه میدی اگه نه error
ok?

hassan razavi
یک شنبه 15 اردیبهشت 1387, 14:21 عصر
ولی دوستمون سطح دسترسی کاربران را در خود SQL Server پیاده سازی کرده .

captain_black81
یک شنبه 15 اردیبهشت 1387, 14:25 عصر
جناب رضوی ، کاکو!
روش من چطوره؟ شما کدومو ترجیح میدین؟

hassan razavi
یک شنبه 15 اردیبهشت 1387, 14:35 عصر
به نظر من روش شما (ایجاد یک جدول برای سطح دسترسی) بهتره . چون در روش قبلی ، سطح دسترسی محدود به اعمال سطح دسترسی بر روی عملیات قابل انجام بر بانک میشه و سطح دسترسیهای دیگری که ممکنه در برنامه مورد نیاز باشه رو نمیشه کنترل کرد.

bachebahal_1363
یک شنبه 15 اردیبهشت 1387, 15:23 عصر
ممنون از همه دوستان
اما همانطور که متوجه شدید من سطح دسترسی ها رو داخل sql مشخص کردم
در مورد اینکه در بخش sql مطرح کنم چون مشکل من sql server نیست مشکل من windows form هست و می خواهم برنامه error های احتمالی که sql ارسال می کنه رو تشخیص بده و همچنین برنامه من توسط C# نوشته شده به همین علت در اینجا مطرح کردم

hassan razavi
یک شنبه 15 اردیبهشت 1387, 15:26 عصر
دوست عزیز برای بدست آوردن سطح دسترسی هر یک از جداول برای کاربران ایجاد شده در Sql Server ، باید دید که ار چه Store Procedure هایی و یا جداولی استفاده میشه. و برای رسیدن به این جواب هم فکر میکنم سوالتون رو اونجا هم مطرح کنید زودتر به نتیجه میرسید

bachebahal_1363
یک شنبه 15 اردیبهشت 1387, 16:41 عصر
خوب پس من در اون تاپیک هم مطرح می کنم اما اگر در اینجا هم کسی اطلاعات خاصی داره که بتونه کمک کنه ممنون می شم

bachebahal_1363
دوشنبه 16 اردیبهشت 1387, 17:10 عصر
سلام دوستان
من این تاپیک رو در Sql server نیز مطرح کردم اما نتیجه ای در بر نداشت اینجا لااقل 4 و 5 نفر جواب دادن اما اونجا فقط یک نفر اونم نه جواب

bachebahal_1363
چهارشنبه 18 اردیبهشت 1387, 08:39 صبح
نه خیر مثل اینکه باز هم ما مشکلی رو که در امضا نوشتم داریم
خیلی ها در این سایت اطلاعات کافی دارن اما فکر می کنن اگر ما هم بدونین جای اونها رو تنگ می کنیم
باشه ما که دیگه صرف نظر کردیم
دکمه حل شد رو می زنم اما فکر کنم تنها پستی باشه که بدون جواب حل شد

bachebahal_1363
چهارشنبه 18 اردیبهشت 1387, 08:40 صبح
البته شرمنده مثل اینکه دکمه حل شدی دیگه وجود نداره
خوب اینجا می نویسم
حل شد

hassan razavi
چهارشنبه 18 اردیبهشت 1387, 08:46 صبح
دوست عزیز اگه مشکلتون حل شده بهتره که راه حل رو هم برای ما و کسانی که با جستجو به این تاپیک میرسند بیان کنید.

bachebahal_1363
چهارشنبه 18 اردیبهشت 1387, 09:59 صبح
جناب hassan razavi
اگر به دو پست های آخر من توجه کرده باشین من از اینکه چرا کسی جوابی به من نمی ده و تمامی دوستانی که درباره سوال من چیزهایی می دونن ولی حاضر نیستند اون مسائل رو به کسی بگن و به عنوان فوت کوزه گری پیش خودشون نگه داشتن خیلی شاکی هستم
بنده نه اینکه مشکلم حل نشده بلکه حتی به تاپیکم هم یه پاسخی که حداقل یه راهنمائی کوچکی هم کنه ارسال نشده .
من کلمه حل شد رو نوشتم چون با اینکه مطمئن هستم اشخاصی در این سایت هستند که می تونن کمک کنن و این کار رو نمی کنند به جائیشون بر بخوره و حداقل یه راهنمائی کوچک هم که شده به ما بکنند.
اما مثل اینکه باز هم کارساز نیست و همچنان برای خودشون دبدبه و کب کبه ای راه انداختن که بیا و ببین
پس این سایت رو برای چی راه انداختین .
فقط برای مبتدی ها ؟
خوب تمامی این مسائلی که مطرح می شه در کتاب های C# خارجی و داخلی وجود داره .
و در کل سایت شاید برای مثال از حدود 1000000000 پست فرستاده شده فقط 100 اون به صورت پیشرفته و عملی باشه .
من دیروز در تاپیک SQL Server بودم یک پست وجود داره که در مورد تبدیل تاریخ میلادی به شمسی و ذخیره در بانک هست که اگر بهش سر بزنین واقعا خندتون می گیره .
معلوم نیست میدون جنگه یا کمک به همدیگه .
خوب پس سرپرست سایت چرا تذکر کوچکی هم که شده به اون دوستان نمی ده ؟
این واقعا جای سوال داره .
من برای جناب آقای DelphiAssistant احترام خاصی قائل هستم و مطمئا هستم اگر افراد با اطلاعات در این سایت باشه یکی از اون ها جناب آقای DelphiAssistant هست .
اما گله مندم چون حداقل کسانی که مثل من در خونه پشت کامپیوتر و اینترنت مشغول کد نویسی هستن و به زحمت اطلاعاتی که احتیاج دارن رو از اینترنت چه سایت ایرانی و چه خارجی جستجو می کنن الطفات بیشتری بشه و به سوالاتمون جواب داده بشه .
این تاپیک رو من در هیچ جای این سایت و با جستجو هایی که کردم ندیدم
خوب مسلما دوستان بسیاری که به صورت Full Object Oriented کار می کنن خیلی به این موضوع احتیاج دارن .
خوب زمانی که SQL یه همچنین امکانات گسترده ای رو قرار داده چرا ما از اون استفاده نکنیم .
دلیل بسیاری از کندی ها و مشکلات برنامه ها این هست که همه چی رو می خوایم درون Windows App حل کنیم و زمانی که دوبرنامه به صورت بسیار خوب با هم کار می کنن و کنار میان چرا کارها رو بین دو برنامه تقسیم نکنیم ؟
باز هم عاجزانه از دوستانی که اطلاعاتی در این زمینه دارن درخواست کمک می کنم .

hassan razavi
چهارشنبه 18 اردیبهشت 1387, 10:54 صبح
دوست عزیز فکر کنم لینک زیر بتونه بهتون کمک کنه و مشکلت رو حل کنه
http://www.mssqlcity.com/Articles/Adm/manage_users_permissions.htm
اینم برا 2005
http://searchsqlserver.techtarget.com/tip/1,289483,sid87_gci1127863,00.html

اگه ممکنه نام تاپیک رو به User Permissions in SQL Server تغییر بدید تا با موضوع مرتبط تر بشه و جستجوی اون راخت تر بشه