PDA

View Full Version : جلوگیری از دسترسی به پوشه ها بدون استفاده از Web Site Administration Tool



raika17metal
شنبه 22 مرداد 1390, 14:23 عصر
با سلام.
من در سایتم دو تا پوشه دارم یکی CP و دیگری Student.
پوشه CP همان Control Panel سایت است که تنها مدیر باید بعد از لاگین به آن دسترسی داشته باشد.
پوشه Student هم مختص دانشجویانی است که ثبت نام کرده اند و بعد لاگین باید بتوانند به محتویات آن دسترسی داشته باشند.
حالا من میخوام از دسترسی غیر مجاز به این پوشه ها جلوگیری کنم. تو همه کتابها و فیلم های آموزشی که دیدم توضیح داده شده که باید بریم "نقش" بسازیم و تنظیمات رو انجام بدیم و برای هر نقش "User" تعریف کنیم و از این جور کارا و در نهایت هم باید از کنترل های آماده ASP.NET برای لاگین استفاده بشه.
اما من نام کاربری و پسورد مدیر رو جداگانه داخل یک Table و مشخصات دانشجویان رو داخل یک Table دیگه ذخیره کردم. برای لاگین هم بصورت عادی از دو عدد Text Box استفاده کردم. حالا میخواستم ببینم چطوری میتونم دسترسی به پوشه CP رو فقط برای مدیری که اطلاعاتش داخل جدول بانک اطلاعاتی ذخیره شده و دسترسی به پوشه Student رو چطوری محدود به دانشجویانی کنم که نام کاربری و پسوردشون داخل جدول بانک اطلاعاتی ام ذخیره شده.
من نمیخوام به ازای هر باری که یه دانشجو ثبت نام می کنه برم توی Web Site Administration Tool و برای یه user و pass تعریف کنم!!!!
آیا راهی هست؟

raika17metal
شنبه 22 مرداد 1390, 17:05 عصر
لطفا جواب بديد

mohsen.nsb44
شنبه 22 مرداد 1390, 18:15 عصر
کد زیر رو در وب کانفیگ بنویس تا دسترسی به پوشه برای کاربران مجهول امکانپذیر نباشه

<location path="CP">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>-->

raika17metal
شنبه 22 مرداد 1390, 19:55 عصر
دوست عزيز سوال من رو خونديد؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟
من از Rule ها استفاده نکردم!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!

raika17metal
شنبه 29 مرداد 1390, 11:19 صبح
لطفا جواب بدید

ASPX
شنبه 29 مرداد 1390, 11:30 صبح
بهتر بود در جدول کاربران یک فیلد اضافه به نام نقش میگذاشتید که اگر مثلا admin بود این کار را کند و اگر studentو ... ب این حال اگر admin سایت یک نفر است از شناسه کاربری آن نیز میتوان استفاده کرد.


if (user == "admin")
{
Session["role"] = "admin";
Response.Redirect("~/cp");
}
else
{
Session["role"] = "student";
Response.Redirect("~/Student ");
}


حالا در صفحات دیگر Session["role"] vh چک کن
مثلا اگر در بخش cp نقش کاربر admin بود که هیچی وگرنه به صفحه login بده شود redirect
به جای session میتونی از کوکی هم استفاده کنی

برای هر کدوم یک صفحه default میسازی و لینک ها رو داخل اون صفحه میگذاری. به جای آدرس دادن مستقیم اطلاعات مثلا ...\file.zip از روشی مثل لینک باتن استفاده کن و و از روش stream برای دانلود استفاده کن
اون وقت هیچ گاه دانش آموز نمیتئونه آدرس فایل رو بدونه که بتونه دانلودش کنه

siamat
دوشنبه 29 مهر 1392, 17:46 عصر
می شه این رو به صورت یک مثال کامل بزنید که من مبتدی هم متوجه بشم البته یه چیزایی گرفتم ولی اگه کامل بگید ممنون می شم

fakhravari
دوشنبه 29 مهر 1392, 18:51 عصر
http://barnamenevis.org/showthread.php?422702-%D8%AC%D9%84%D9%88%DA%AF%DB%8C%D8%B1%DB%8C-%D8%A7%D8%B2-%D8%AF%D8%B3%D8%AA%D8%B1%D8%B3%DB%8C-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1-%D8%A8%D9%87-%D9%BE%D9%88%D8%B4%D9%87-%D8%A7%DB%8C-%D8%AE%D8%A7%D8%B5-%D8%9F