PDA

View Full Version : مبتدی: مخفی کردن صفحات از دید عموم



میلاد قاضی پور
سه شنبه 02 شهریور 1389, 13:31 عصر
سلام . میشه راهنمایی کنید که صفحات مربوط به مدیران رو چطور میشه از دید کاربران مخفی کرد به طوری که اگر کاربر آدرس مربوطه رو وارد کرد اون صفحه رو براش نیاره ؟ اصلا آیا این روند به این روش اجرا میشه یا طور دیگه ای هست ؟

Vahid_moghaddam
سه شنبه 02 شهریور 1389, 13:40 عصر
سلام . میشه راهنمایی کنید که صفحات مربوط به مدیران رو چطور میشه از دید کاربران مخفی کرد به طوری که اگر کاربر آدرس مربوطه رو وارد کرد اون صفحه رو براش نیاره ؟ اصلا آیا این روند به این روش اجرا میشه یا طور دیگه ای هست ؟
شما باید برای سایت سطوح دسترسی رو تعریف کنید. به این صورت که اگه کاربری مدیر بود، یا به عبارت دیگه نقش مدیر رو داشت بتونه صفحه رو ببینه (مجاز باشه)
درباره membership و role ها در asp.net مطالعه کنید.
لینک زیر هم می تونه مفید باشه.
http://barnamenevis.org/forum/showpost.php?p=1056014&postcount=14
در تاپیک:
http://barnamenevis.org/forum/showthread.php?t=237234

میلاد قاضی پور
سه شنبه 02 شهریور 1389, 14:47 عصر
اما اینارو من میدونم . سایت کاربر نداره .میخوام برخی صفحات مانند مدیریت مطالب سایت برای عموم قابل رویت نباشند. مثلا بازدید کننده و یا "مدیر پس از خروج" خواست آدرس صفحه مربوط به مدیریت مطالب رو زد ریدایرکت بشه به صفحه اول یا اصلا بهتره 404 بده . چیکار کنم ارور 404 بده ؟

hlikehamed
سه شنبه 02 شهریور 1389, 14:54 عصر
خوب چرا اون کار رو می کنی؟ وقتی وارد صفحات مدیریتی میشی توی لود چک کن اگه طرف مجاز نبود redirect کن به یه صفحه ای یا صفحه login مثلا.

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

یا از همین membership که دوستمون گفت..درسته عضو نداره ولی برای مدیریت این کار ها هم هست.
اگر کاربر authenticate شده بود نشون بده اگر نه بره یه صفحه دیگه......

mahsa.n
سه شنبه 02 شهریور 1389, 15:18 عصر
فکر کنم منظورت این باشه
این کد رو در page-load صفحه admin بذار



if (User.Identity.IsAuthenticated == false)
{
Response.Redirect("Login.aspx");
}

if (!Roles.IsUserInRole("admin"))
{
Response.Redirect("Defaule.aspx");
}