‫۱۲ سال و ۶ ماه قبل، جمعه ۱ اردیبهشت ۱۳۹۱، ساعت ۱۷:۵۶
- از کلاس AuthorizeAttribute ارث بری کنید. بعد داخل آن یک خاصیت به نام مثلا public string AreaName تعریف کنید. این ویژگی سفارشی اکنون می‌تواند از پارامتر AreaName هم استفاده کند و استفاده داخلی از آن با تحریف متد AuthorizeCore میسر خواهد شد.
- اگر متد OnAuthorization را تحریف کنید، به filterContext.Controller دسترسی خواهید داشت.
- ضمن اینکه شما در سازنده این کلاس فیلتر سفارشی، فرصت مقدار دهی خواصی مانند Roles را بر اساس اطلاعات بانک اطلاعاتی خواهید داشت. یعنی به این شکل هم می‌شود آن‌را پویا تعریف کرد.
- توسط HttpContextBase httpContext متدهای تحریف شده به اطلاعات کاربر جاری می‌شود دسترسی یافت (httpContext.User.Identity.Name).
‫۱۲ سال و ۶ ماه قبل، جمعه ۱ اردیبهشت ۱۳۹۱، ساعت ۱۳:۴۷
Authorize زمانیکه به این نحو استفاده می‌شود تابع قوانین مثلا زبان سی شارپ است و نمی‌شود پارامتر آن‌را پویا تعریف کرد. اما می‌شود با ارث بری CmsAuthorizeAttribute : AuthorizeAttribute و ایجاد یک فیلتر سفارشی اینکار رو انجام داد. بعد در متد public override virtual bool AuthorizeCore فرصت خواهید داشت با بانک اطلاعاتی کار کنید.
‫۱۲ سال و ۶ ماه قبل، جمعه ۱ اردیبهشت ۱۳۹۱، ساعت ۱۳:۴۵
ترکیبی باید باشه. من از ترکیب SHA1 و MD5 و سپس معکوس کردن نتیجه استفاده می‌کنم. یعنی مثل بچه‌های خوب نیاید از SHA1 معمولی استفاده کنید. برنامه برای شکستن این‌ها زیاد است (بروت فورس). اما زمانیکه کمی این رو پیچوندید،‌ دیگه برنامه شکستن خودکار با الگوریتم‌های پردازش موازی براش نیست.
‫۱۲ سال و ۶ ماه قبل، جمعه ۱ اردیبهشت ۱۳۹۱، ساعت ۱۳:۵۱
فایل تا زمانیکه فراخوانی و اجرا نشه، تخریبی رو نمی‌تونه ایجاد کنه. فیلتر یاد شده هم قابلیت اجرایی فایل‌های asp.net رو در یک پوشه خاص (مثلا پوشه آپلود) حذف می‌کنه.
‫۱۲ سال و ۶ ماه قبل، جمعه ۱ اردیبهشت ۱۳۹۱، ساعت ۱۳:۵۰
این یک کار سورس باز هست. می‌تونید مطابق قوانین آن، خودتون این کار رو انجام بدید و یک مرحله اون رو جلو ببرید. حاصل نهایی باید فایل ورد قابل ویرایش باشد. pdf درست نکنید. ممنون.
‫۱۲ سال و ۶ ماه قبل، جمعه ۱ اردیبهشت ۱۳۹۱، ساعت ۱۳:۴۹
- درسته. ولی محض احتیاط بررسی این مطلب ضرری نداره.
- بله. در برنامه‌های وب اصلا چنین اجازه‌ای رو نباید داد.
‫۱۲ سال و ۶ ماه قبل، جمعه ۱ اردیبهشت ۱۳۹۱، ساعت ۱۳:۵۳
بستگی داره cutomErrors رو مقدار دهی کردید یا خیر. اگر بله، مطابق مقدار دهی آن رفتار خواهد شد؛ مثلا یک صفحه سفارشی نمایش داده می‌شود. ولی خطایی از دست ELMAH در نمیره!
‫۱۲ سال و ۶ ماه قبل، جمعه ۱ اردیبهشت ۱۳۹۱، ساعت ۱۳:۵۶
در فایل کانفیگ اصلی برنامه (در ریشه اصلی سایت) می‌تونید با مقدار دهی تگ location اینکار رو انجام بدید. ولی روش توصیه شده‌ای برای ASP.NET MVC نیست. استفاده از فیلتر Authorize روش امن‌تری است چون مستقل از تعاریف مسیریابی عمل می‌کند و امکان فراموشی آن پس از تغییرات در مسیریابی نیست.
‫۱۲ سال و ۵ ماه قبل، دوشنبه ۱۱ اردیبهشت ۱۳۹۱، ساعت ۰۴:۱۰
این مورد به IIS7 مربوط است البته: (^)
‫۱۲ سال و ۵ ماه قبل، دوشنبه ۱۱ اردیبهشت ۱۳۹۱، ساعت ۰۰:۱۱
خلاصه سؤال در حالت کلی: قصد داریم آدرس متداول site.com/admin/report/list/1 را به admin.site.com/report/list/1 نگاشت کنیم. آیا امکان پذیر است؟
این سؤال مستقیما به Areas مرتبط نمی‌شود. اصل سؤال این است: «آیا Routing و مسیریابی، از ساب دومین‌ها پشتیبانی می‌کند؟» پاسخ: به صورت توکار خیر. اما با استفاده از IIS7 URL Rewrite module می‌تونید اینکار رو انجام بدید. یا اینکه باید کد نویسی کنید: (^)