PDA

View Full Version : دادن پسورد به پایگاه داده یا SQL-Server



mrezaei
سه شنبه 26 تیر 1386, 11:34 صبح
با سلام
چگونه می توانم به پایگاه داده یا SQL-Server پسورد بدهم که هم کسی نتواند آنرا باز کند و هم برنامه من بتواند به پایگاه داده متصل شود.:متفکر:

RezaKia
سه شنبه 26 تیر 1386, 13:59 عصر
سلام،
سریعترین روش Application Rule و استفاده از این تکنیک هست.

با این روش حتی اگه پسورد DB رو بدونی هم اجازه دسترسی به داده ها نداری.

SYNDROME
سه شنبه 26 تیر 1386, 16:39 عصر
با سلام

با سلام
چگونه می توانم به پایگاه داده یا SQL-Server پسورد بدهم که هم کسی نتواند آنرا باز کند و هم برنامه من بتواند به پایگاه داده متصل شود.:متفکر:
در رابطه با پسورد دادن SQLServer در سایت بحث شده.
جستجو کنید.
موفق باشید

Kamyar.Kimiyabeigi
سه شنبه 26 تیر 1386, 16:53 عصر
http://barnamenevis.org/forum/showthread.php?t=72342

AminSobati
چهارشنبه 27 تیر 1386, 14:37 عصر
سلام،
سریعترین روش Application Rule و استفاده از این تکنیک هست.

با این روش حتی اگه پسورد DB رو بدونی هم اجازه دسترسی به داده ها نداری.

Password روی دیتابیس قرار نمیگیره، بلکه روی Login (در سطح SQL Server) معنی پیدا میکنه. Application Role به چه شکل این کار رو انجام میده؟!

najafzade
چهارشنبه 27 تیر 1386, 15:50 عصر
password روی Server تو login یعنی چه؟:گیج:

AminSobati
چهارشنبه 27 تیر 1386, 16:28 عصر
Login در سطح SQL Server و Username در داخل دیتابیس تعریف میشه. کسی که قصد داره وارد SQL Server بشه، باید اول یک Login براش بسازین. در این مرحله Authentication انجام میشه. حالا این Login در هر دیتابیس که برای Username ساخته باشین میتونه وارد بشه.

RezaKia
چهارشنبه 27 تیر 1386, 23:59 عصر
سلام،
من فکر کنم این آقای Amin Sobati تعهد کرده فقط ثابت کنه ما داریم اشتباه میکنیم. :لبخندساده:

لذا، یک بار پاشو برو میلان تو کلاسهای نکات برنامه نویسی شرکت کن تا بفهمی چه جوری میشه Password رو بدونی ولی نتونی به DataBase وصل شی. اونوقت بهت یاد میدن چطور یه Login بسازی که بتونه به SQL Server وصل شه ولی فقط بتونه وصل بشه. اینجاست که اون Application Rule میپره وسط و کار وصل شدن به DB رو به عهده میگیره.

در ضمن، یادآوری میکنم پسورد DB تو این حالت همون Login حساب میشه که فقط حق وصل شدن به SQL رو داره و حتماً باید اجازه دسترسی به یکی و فقط یک DB رو داشته باشه. اما از نوع DataDenyReader/Writer.

Application Rule تو این حالت باید با Login مربوط به DB Owner از توی برنامه فراخوانی شود.
چیزی که ما یاد گرفتیم اینه که اینکارو بهتره تو 2000 انجام ندید، چون دردسرهای جانبیش زیاده.

خلاصه مطلب، با در نظر گرفتن اینکه مدیر بخش با این روش حال نکردند؛ هر چی ایشون میگن مورد تایید ما هم قرار دارد. :لبخند:

خوش باشید.

SYNDROME
پنج شنبه 28 تیر 1386, 00:19 صبح
با سلام

سلام،
من فکر کنم این آقای Amin Sobati تعهد کرده فقط ثابت کنه ما داریم اشتباه میکنیم. :لبخندساده:

لطفا با کلمات خود سعی نکنید دوستانی را که برای این سایت زحمت فراوانی می کشند را زیر سوال ببرید و بجای این کار می توانید با این دوستان بحث کنید و به نتیجه نیز برسید.
ببخشید که موضوغ خارج از بحث را مطرح کردم(فکر کنم لازم بود)

AminSobati
جمعه 29 تیر 1386, 00:46 صبح
یک بار پاشو برو میلان تو کلاسهای نکات برنامه نویسی شرکت کن تا بفهمی چه جوری میشه Password رو بدونی ولی نتونی به DataBase وصل شی. اونوقت بهت یاد میدن چطور یه Login بسازی که بتونه به SQL Server وصل شه ولی فقط بتونه وصل بشه.

عزیزم آدم تا میلان بره که این چیزها رو یاد بگیره؟ این رو که شاگردهای من هم سر کلاس یاد میگیرن! یک Login و Username بسازین، بهش Permission ندین. حالا "فقط" میتونین Connect بشین! اگر به Public هیچ Permissionی نداده باشین، نیازی به DenyDataReader/Write هم برای محدود کردن Username نیست.



اینجاست که اون Application Rule میپره وسط و کار وصل شدن به DB رو به عهده میگیره.

Application Role شما رو به دیتابیس وصل نمیکنه، در حقیقت شما به دیتابیس وصل هستین، و اگر نه نمیتونین Application Role رو Set کنین. App Role فقط کمک میکنه تا شما Security Context قبلیتون رو در دیتابیس کنار بگذارین و با یک Context جدید کار رو ادامه بدین.



چیزی که ما یاد گرفتیم اینه که اینکارو بهتره تو 2000 انجام ندید، چون دردسرهای جانبیش زیاده.

درست یاد دادن بهتون! شما باید Password رو از سمت Client ارسال کنین و اگر زمانی تصمیم بگیرین Password رو عوض کنین، یعنی همه Clientها باید به روز بشن!