سلام . میشه راهنمایی کنید که صفحات مربوط به مدیران رو چطور میشه از دید کاربران مخفی کرد به طوری که اگر کاربر آدرس مربوطه رو وارد کرد اون صفحه رو براش نیاره ؟ اصلا آیا این روند به این روش اجرا میشه یا طور دیگه ای هست ؟
سلام . میشه راهنمایی کنید که صفحات مربوط به مدیران رو چطور میشه از دید کاربران مخفی کرد به طوری که اگر کاربر آدرس مربوطه رو وارد کرد اون صفحه رو براش نیاره ؟ اصلا آیا این روند به این روش اجرا میشه یا طور دیگه ای هست ؟
شما باید برای سایت سطوح دسترسی رو تعریف کنید. به این صورت که اگه کاربری مدیر بود، یا به عبارت دیگه نقش مدیر رو داشت بتونه صفحه رو ببینه (مجاز باشه)
درباره membership و role ها در asp.net مطالعه کنید.
لینک زیر هم می تونه مفید باشه.
https://barnamenevis.org/showpo...4&postcount=14
در تاپیک:
https://barnamenevis.org/showthread.php?t=237234
اما اینارو من میدونم . سایت کاربر نداره .میخوام برخی صفحات مانند مدیریت مطالب سایت برای عموم قابل رویت نباشند. مثلا بازدید کننده و یا "مدیر پس از خروج" خواست آدرس صفحه مربوط به مدیریت مطالب رو زد ریدایرکت بشه به صفحه اول یا اصلا بهتره 404 بده . چیکار کنم ارور 404 بده ؟
خوب چرا اون کار رو می کنی؟ وقتی وارد صفحات مدیریتی میشی توی لود چک کن اگه طرف مجاز نبود redirect کن به یه صفحه ای یا صفحه login مثلا.
اگر اونقدر پیچیده نیست سایتت می تونی از session استفاده کنی. موقع ورود ادمین یه سشن ایجاد کن. توی صفحات مدیریتی اون سشن اگر موجود بود نشون بده اگر نه بره صفحه مورد نظر ......
یا از همین membership که دوستمون گفت..درسته عضو نداره ولی برای مدیریت این کار ها هم هست.
اگر کاربر authenticate شده بود نشون بده اگر نه بره یه صفحه دیگه......
فکر کنم منظورت این باشه
این کد رو در page-load صفحه admin بذار
if (User.Identity.IsAuthenticated == false)
{
Response.Redirect("Login.aspx");
}
if (!Roles.IsUserInRole("admin"))
{
Response.Redirect("Defaule.aspx");
}