با سلام خدمت تمامی علاقمندان به مباحث طراحی سایت با ASP.NET MVC ، با یکی دیگر از مقالات کاربردی آموزش MVC در خدمت شما عزیزان هستیم در این مقاله آموزشی قصد داریم تا نحوه محدود کردن سطح دسترسی کاربران عضو نشده در سایت به View ها ، Controller ها و Action Method ها و سایر موارد موجود در پوشه Area را آموزش دهیم .
سرفصلهای پست
محدود کردن سطح دسترسی کاربران عضو نشده به محتویات پوشه Area درASP.NET MVC
گاهی شما در پروژه های خود قصد دارید تا اجازه مشاهده و دسترسی به بعضی از View ها (صفحات) را تنها به کاربران عضو سایت بدهید تا از طریق این سیاست ، بازدیدکننده های سایت خود را ترغیب کنید تا برای مشاهده و استفاده از مطالب و یا امکانات این صفحات در سایت شما عضو شوند خب در این مواقع پیشنهاد بنده این است که یک Area در پروژه خود ایجاد نموده و View ها ، Controller ها و سایر مواردی را که میخواهید از دسترس کاربران غیر عضو خارج نمایید درون این Area تعریف کنید چرا که تنها با اضافه نمودن چند خط کد به فایل Web.config می توانید محتوایات این پوشه را از دسترس کاربران غیر عضو خارج کنید.
Area جیست ؟
از Area در ASP.NET MVC برای تفکیک پروژه های بزرگ به بخش های کوچکتر استفاده می شود . هر Area دارای پوشه Models ، Views و Controllers است.

نحوه ایجاد Area در ASP.NET MVC
برای ایجاد Area بر روی پروژه ی خود در Visual Studio راست کلیک کرده و پس از انتخاب گزینه Add ، بر روی Area کلیک نموده و یک نام برای آن انتخاب کنید و سپس بر روی گزینه Ok کلیک کنید .

نحوه محدود کردن سطح دسترسی به Area
به منظور محدود کردن سطح دسترسی پوشه Area تنها کافی است که کدها زیر را در فایل Web.config درون تگ <configuration> </configuration> کپی نمایید. مقدار deny users را برابر ؟ قرار داده ایم که نشان دهنده این است که کاربرانی که عضو سایت نیستند نباید به محتویات پوشه Area دسترسی داشته باشند.
همچنین مقدار path را برابر با نام Area خود قرار دهید من نام Area را User قرار داده ام.
<location path="User"> <system.web> <authorization> <deny users="?"/> </authorization> </system.web> </location>
به پایان این مقاله آموزشی رسیدیم در صورتی که پیرامون این مقاله و سایر مقالات ASP.NET MVC سوالی داشتید حتما در انجمن میزفا مطرج متید.
9 پاسخ
سلام من از formsAuthenication.signout
برای خروح از سیستم استفاده کردم ولی کاربر با زدن این دکمه لاگ اوت نمیشه درحالی که دره پروژه های قبلیم این اتفاق می افتاد نظر شما چیه؟
سلام و خسته نباشید خدمت شما ادمین محترم
یه مشکلی راجب نحوه اوردن Area دارم همه جا میگن کلیک راست قسمت اسم و اد رو میزنی و بعد اریا میزنی برای من تا اد اوک ولی اصلا Area ندارم اون بالا اولین چیزی که نوشته New Item ممنون میشم کمکم کنید مشکل از ویژوالمه یا چیز دیگ
باتشکر
سلام وقتتون بخیر
معمولا وقتی ویژوال استودیو رو آپدیت میکنید مشکل حل میشه ، اگر حل نشد خودتون یک پوشه به نام Areas ایجاد کنید بعدش داخل این پوشه ، پوشه های مربوط به area رو بسازید و نامگذاری کنید.
سلام و عرض خسته نباشید …
دقیقا همین نوع بستن دسترسی به Area رو چگونه در asp core انجام بدیم ؟
سلام ممنونم ، توی asp.net core من کدی برای محدودیت area پیدا نکردم
با این حال شما می تونید از اتربیوت [Authorize] برای محدود کردن کنترلرهای area استفاده کنید.
سلام
من به این قسمت دسترسی ندارم
محدود کردن سطح دسترسی کاربران بر اساس نقش در ASP.NET MVC
مشکل چی هستش؟
Accessing author info via REST API is forbidden
با سلام … بنده متوجه مشکل شما نشدم … لطف کنید از خطا اسکرین شات بگیرید به آیدی تلگرام http://telegram.me/mizfa_support ارسال کنید .
باسلام و خسته نباشید
لینک محدود کردن سطح دسترسی کاربران بر اساس نقش در ASP.NET MVC مشکل داره
بی زحمت حلش کنید
ممنون
با سلام … تشکر … لینک ها بررسی شد … لطفا اگر اشکالی در لینک ها مشاهده کردید به محل دقیق اشاره کنید تا هر چه سریع تر برطرف بشه .