شرایط دنیای واقعی، بسیار متفاوت است از طراحیهای سادهی اولیهی ثبت نام. در طراحیهای ساده، ایمیل، نام کاربری و بسیاری از اطلاعات دیگر باید منحصربفرد باشند. ایندکس منحصربفرد تعریف میکنید. قیود و اعتبار سنجی سمت سرور و سمت کاربر را اضافه میکنید. چقدر عالی! اما ... دنیای واقعی شکل دیگری را دارد!
یک روز با ایمیل username@gmail.com ثبت نام میکنند. فردا با ایمیل user.name@gmail.com ثبت نام خواهند کرد. پس فردا با ایمیل us.er ...
فرم هایی که اطلاعاتی را از یک کاربر دریافت کرده و به سمت سرور Post میکنند، از مهمترین اجزای لاینفک یک وب سایت میباشند. بی شک همهی ما از چنین فرمهایی حتی در یک پروژهی هرچند کوچک استفاده کردهایم. ممکن است هنگام ارسال این فرمها، کاربری شیطنت به خرج داده و درون یکی از فیلدهای فرم، از عبارتهای HTML و یا یک اسکریپت استفاده کرده باشد. در ASP.Net + MVC از مکانیزم ValidationRequest برای مقابله با چنین حملاتی ( XSS ) استفاده شده است.
...
طی این مقاله، نحوهی ذخیره سازی تنظیمات متغیر و پویای یک برنامه را به صورت Strongly Typed ارائه خواهم داد. برای این منظور، یک API را که از Lazy Loading ، Cache ، Reflection و Entity Framework بهره میگیرد، خواهیم ساخت. برنامهی هدف ما که از این API استفاده میکند، یک اپلیکیشن Asp.net MVC است. قبل از شروع به ساخت API مورد نظر، یک دید کلی در مورد آنچه که قرار است در نهایت توسعه یابد، در زیر مشاهده میکنید: public SettingsControll ...
بیشک اگر در سایت خود بخشی را برای دریافت فایلهای کاربر قرار داده باشید یکی از دغدغههای شما اعمال فیلتر و محدودیت روی نوع فایلهای آپلود شده توسط کاربران خواهد بود. ممکن است سیاست شما پذیرای فایل هایی با پسوند خاص (برای مثال فقط عکس) باشد ولی هیچ تضمینی وجود ندارد که فایلی با پسوند مورد نظر شما محتوایی مشابه با پسوند خود داشته باشد .
اگر بخواهیم دقیقتر به این موضوع نگاه کنیم فرض میکنیم شما در وب سایت خود قسمت ...
همانطور که میدانید Identity، فریمورک نسبتا جدیدی هست که مایکروسافت برای
مدیریت کاربران و احراز هویت آنها معرفی کرده و پیشرفت چشمگیری داشته
است. در قسمت IdentityConfig (قسمتی که برای کانفیگکردن Identity استفاده
میشود) بخشی قابل تنظیم برای کانفیگکردن سیاستهای تعیین پسورد وجود
دارد. بهطور مثال : تعیین حداقل تعداد حروف برای کلمهی عبور، ضرورت کوچک و
بزرگ بودن حروف، الزام وجود کاراکتر ویژه.
ای ...
در مقالهی قبلی ما بخشی از BootstrapDialog را با استفاده از Reflection پیاده سازی کردیم. دلیل اینکه پیاده سازی کاملی از آن نداشتیم، متغیر بودن مقادیر و پیچیدهتر شدن و طولانی تر شدن کد نویسی آن بود که برای آن کد ارزش زیادی نداشت تا وقت بیشتری صرف شود. ولی در اینجا بخاطر پیچیدگی کمتر، به طور کامل از Reflection استفاده شده است. شیء BootstrapSwitch یک چک باکس است که با استفاده از جی کوئری و استایلها به یک سوئیچ انیمیشنی زی ...
در مقالهی پیشین نگاهی داشتیم به نحوهی برپایی سیستم Identity. در این مقاله به نحوهی استفاده از این سیستم به منظور طراحی یک سیستم مدیریت کاربران خواهیم پرداخت و انشالله در مقالههای بعدی این سیستم را تکمیل خواهیم نمود. کار را با اضافه کردن یک کنترلر جدید به پروژه آغاز میکنیم. using System.Web;
using System.Web.Mvc;
using Microsoft.AspNet.Identity.Owin;
using Users.Infrastructure;
namespace Users.Controllers
...
بنده در حال توسعهی یک CMS هستم و این کار را برای یادگیری MVC انجام میدم. الان هم تقریبا رسیدم به اواخر کار و انشالله اگه کار تمام شد، نرم افزار را به صورت سورس باز منتشر میکنم. الان رسیدم به قسمت مدیریت کاربران. همانطور که میدانید ASP.NET در نسخههای جدید خودش بر خلاف نسخههای قدیمی که از SQL Membership استفاده میکرد الان از سیستم Identity بهره میبرد، که انشالله در نوشتارهای بعدی به موضوع Identity به تفصیل خواهیم پرداخت. در حقیق ...
چند وقت پیش لینکی را معرفی کردم که در آن به طراحی پنجرههای بوت استرپ 3 با استفاده از جی کوئری پرداخته بود و از آنجا که من دوست دارم انعطاف بیشتری در استفاده از این مدل کتابخانهها داشته باشم و مستندات آن را حفظ نکنم، آنها را به HtmlHelper تبدیل میکنم. ابتدا از این آدرس فایلهای مورد نظر را دریافت کنید . دو عدد از آنها فایل استایل و دیگری فایل جی کوئری آن است که به ترتیب زیر صدا بزنید: <script src="//code.jquery.com/jque ...