PDA

View Full Version : سوال: خواهشاً یه نفر یک مثال یا راهنمایی برای این مقاله کوتاه معرفی کنه



ehsanvb
چهارشنبه 01 آبان 1392, 08:21 صبح
اساتید بزرگوار این مقاله رو من جایی دیدم و متوجه شدم که خیلی بدردم میخوره و یه جورایی مشکل همیشگی من اینه، اگه کسی میتونه یه مثال یا راهنمایی کنه ممنون میشم:

متن مقاله:
روشی که میخام ازش نام ببرم Impersonation هست.حتما همگی گزینه Run As User یا Run As Administrator رو در رایت کلیک بر روی برنامه ها دیدید.این امکان یعنی اینکه برنامه شما با Policy یک کاربر دیگه اجرا بشه!

خب بزارید تا بررسی دقیقتری بکنیم.اگر از برخی برنامه نویسان بپرسید که بهتره دیتاهای حجیم مانند تصاویر اسکن شده و اسناد رو داخل بانک اطلاعاتی بذاریم یا داخل فولدر به اشتراک گذاشته شده Shared Folder از سرور ، بسیاری از اونها میگن: داخل دیتابیس!

جالبه که بگم اصولا طراحی سرویس دهنده های بانک اطلاعاتی مانند Oracle یا SQL Server و یا MySQL بگونه ای انجام نشده که شما اسناد و یا تصاویر حجیم رو داخل اون ذخیره کنید.اصولا ورود این سرویسها به دنیای نرم افزار برای حل ایندست مشکلات نیست.بخصوص در مورد تصاویر! که نیازی به ایندکس شدن ندارن و اصولا جستجو در محتوای اونها خیلی بندرت انجام میشه و درج اونها در بانک فقط حجم بانک رو بالا می بره و کارایی رو کاهش میده!

اگر هم فیلدهایی از نوع Image و یا Text و یا ntext در این بانکهای اطلاعاتی وجود داره برای نیازهای دیگری هست.مثلا برای نگهداری تصاویر دانه انگشتی thunbnail و یا تصاویر خیلی کوچک.بعنوان نمونه میتونید به مقاله اینجا مراجعه کنید.

بسیاری از برنامه نویسان برای تامین امنیت داده ها نرم افزارشون ، بدلیل عدم اطلاع از روشهایی چون Impersonation ، اونرو داخل بانک اطلاعاتی قرار میدن.چون کنترل Authentication به بانک اطلاعاتی از داخل برنامه امکانپذیره و غافلند از اینکه اتفاقا Impersonation طراحی شده تا اونها بتونن کنترل دسترسی به فولدرهای اشتراکی رو وابسته به برنامه بکنن بدون اینکه نگران امنیت داده ها باشند.

بطور خلاصه : شما یک فولدر رو در سرویس دهنده Share می کنید ، یک User و یا Account در ویندوز سرور برای استفاده اختصاصی برنامه خودتون ایجاد می کنید ، و سپس حق دسترسی به فولدر مذبور رو فقط به همین User میدین.در انتها کافیه که از طریق Impersonation کاری بکنید که برنامه جوری اجرا بشه که انگار اون User برنامه رو اجرا کرده! قابل ذکره که کاربر استفاده کننده از برنامه لازم نیست که Username و Password اون اکانت رو بدونه و حتی لازم نیست روی برنامه شما در ایستگاه کاری رایت کلیک بکنه و گزینه Run As User را انتخاب بکنه بلکه همه اینکارها براحتی از داخل کد انجام میشه! بهمین سادگی

در نتیجه شما برنامه ای دارید که وقتی اجرا میشه ، انگار بعنوان کاربری از کاربرای ممتاز سرویس دهنده اجرا میشه و در نتیجه فقط برنامه شما به اون فولدرها دسترسی داره و نه هیچ کاربر و یا برنامه دیگه!

rahnema1
چهارشنبه 01 آبان 1392, 10:33 صبح
تا اونجایی که من بررسی کرده ام دو تا روش برای دسترسی به فولدر share هست یکی اونی که شما گفتین و یه روش دیگه
پروژه های زیر که به زبا ن سی شارپه توی sharp develop درست کردم ولی احتمالای توی visual studio هم باز بشه
112123