نظرات مطالب
شروع به کار با EF Core 1.0 - قسمت 14 - لایه بندی و تزریق وابستگی‌ها
- این خطا یعنی سرویس IConfigurationRoot را به سیستم تزریق وابستگی‌ها معرفی نکردید.
- تنظیمات اولیه‌ی EF Core از زمان نگارش 2 آن اندکی تغییر کرده؛ خلاصه‌ی نهایی و به روز شده‌ی آن در پروژه‌ی DNTIdentity و یا پروژه‌ی «اعتبارسنجی مبتنی بر JWT در ASP.NET Core 2.0 بدون استفاده از سیستم Identity» موجود است (هر دو پروژه به آخرین نگارش SDK، به روز رسانی شده‌اند).
نظرات مطالب
IdentityServer قسمت اول
- در قسمت اول به واژه‌هایی مانند «شرکت»، «مرکزی»، «single sign-on»، و «چندین برنامه‌ی مختلف فقط با یک لاگین» که قرار نیست اطلاعات کاربران خودشان را داخل بانک‌های اطلاعاتی خودشان به صورت مجزایی قرار دهند، بیشتر دقت کنید.
- Identity Server برای انتقال و نگهداری اطلاعات موقتی خودش از ترکیب کوکی‌های رمزنگاری شده و همچنین JWT استفاده می‌کند. مثال کاملی در این مورد در سری جدید «امن سازی برنامه‌های ASP.NET Core توسط IdentityServer 4x» با تمام جزئیات ممکن، بررسی شده‌است.
نظرات مطالب
اعتبارسنجی مبتنی بر JWT در ASP.NET Core 2.0 بدون استفاده از سیستم Identity
سلام؛ چطور می‌تونیم بعد از این که login با موفقیت انجام شد یک action رو صدا بزنیم که مثلا صفحه home رو نشون بده. در واقع بعد از اینکه token رو بعد از login بدست آوردم می‌خوام یه action رو با jwt toke صدا بزنم که بره اون صفحه رو load کنه. راهی مثل :window.location در javascript یا a href در html که بشه باهاش token رو فرستاد برای باز کردن action Authorize  شده. ممنون.
نظرات مطالب
سفارشی سازی ASP.NET Core Identity - قسمت پنجم - سیاست‌های دسترسی پویا
- لیست صفحاتی را که کاربر به آن دسترسی دارد، پس از لاگین برای او ارسال کنید (یا به صورت یک آرایه که در سمت Angular کش شود یا به صورت Claims سفارشی داخل توکن JWT او؛ مانند Claims سفارشی نقش‌ها که هم اکنون موجود است).
- سپس توسط یک محافظ مسیر سفارشی، دسترسی‌ها را از این آرایه خوانده و اعمال کنید. برای نمونه محافظ مسیر سفارشی یاد شده، بر اساس Claims مربوط به نقش‌های کاربر که پس از لاگین به سمت کلاینت ارسال می‌شوند، دسترسی به مسیرها را کنترل می‌کند.
نظرات مطالب
پیاده سازی Basic Authentication در ASP.NET MVC
«در حالت معمول برای هر بار تصدیق هویت اطلاعات user  و pass  به اکشن ارسال میشود و آنجا عملیات اعتبار سنجی انجام می‌شود.
در مورد Basic Authentication اطلاعات ارسالی از طریق هدر می‌باشد.»
 - برنامه‌هایی که عملیات بانکی را انجام میدهند از کدام روش بهره میبرند ؟
- آیا این روش JWT هم با برنامه‌های موبایل قابل انجام هست ؟
- اگر از https  استفاده شود امنیت روش Basic Authentication قابل قبول هست ؟
نظرات مطالب
اعمال تزریق وابستگی‌ها به مثال رسمی ASP.NET Identity
- بله. فقط بجای return Viewها شما بازگشت متداول http status‌ها را خواهید داشت مانند return NotFound و یا return Ok. مابقی کدهای آن تفاوتی نمی‌کند.
- هدف نحوه‌ی نمایش این است که تزریق وابستگی‌های ASP.NET Identity و امکانات تنظیم شده‌ی آن در این مثال، در یک کنترلر Web API هم کار می‌کند.
- اگر هدف صرفا استفاده از Single page applications و Web API است، روش استفاده‌ی JWT متداول‌تر است.
نظرات مطالب
اعمال تزریق وابستگی‌ها به مثال رسمی ASP.NET Identity
- همین مثال جاری را بررسی کنید، به کلاس کاربران برنامه، لیست آدرس‌های شخص هم اضافه شده‌است (^ و ^).
- ASP.NET Identity برای حالت single sign-on طراحی نشده‌است (^). هرچند با تغییراتی در کوکی‌ها و Claims میسر است (^). برای حالت single sign-on بهتر است از پروژه‌ی دیگری به نام identity server استفاده کنید (^). همچنین JWT برای این مورد خاص، گزینه‌ی بهتری است (^ و ^).
نظرات مطالب
معرفی JSON Web Token
- این‌ها همان مطالب قسمت‌های «نگاهی به محل ذخیره سازی JWT و نکات مرتبط با آن » و «انقضاء و صدور مجدد توکن‌ها به چه صورتی است؟ » در انتهای بحث فوق هستند.
- در مورد غیرمعتبر سازی توکن‌ها، راه‌حلی در اینجا ارائه شده‌است: «پیاده سازی JSON Web Token با ASP.NET Web API 2.x»
مطالب
دنیای چابک-قسمت اول
داخل وبلاگها و وب سایتهای فارسی زبان(مربوط به برنامه نویسی) که جستجو میکنیم شاهد  کلمه ای هستیم که تازه به چشممان میخورد:Agile(چابک). البته لازم به ذکر است این کلمه چیز جدیدی نیست و سابقه ای در حدود 10 سال دارد(February 2001 ).که جمعی از برنامه نویسان بیانیه ای را تحت عنوان چابک (Agile ) تهیه کردند که متن آن به شرح زیر است:

 ما با توسعه نرم افزار و کمک به دیگران در انجام آن . در حال کشف راه‌های بهتری برای توسعه نرم افزار هستیم. از این طریق باید دست یابیم به ارزش :
  1. افراد و تعاملات بالاتر از فرآیندها و ابزارها 
  2. نرم افزار کارکننده بالاتر از مستندات جامع
  3. مشارکت مشتری در انجام کار بالاتر از قرارداد کار
  4. پاسخگویی به تغییرات بالاتر از پیروی یک طرح
با وجود اینکه موارد سمت چپ نیز ارزشمند هستند ولی ما برای موارد سمت راست ارزش بیشتری قائل هستیم .
که این بیانیه بر پایه 12 اصل(Agile  principles)
  1. بالاترین اولویت ما جلب رضایت مشتری با تحویل زود و مداوم نرم افزاری ارزشمند می‌باشد 
  2. استقبال از تغییر نیازمندی ها، حتی در اواخر فرآیند توسعه. فرآیند‌های چابک، تغییر را در جهت مزیتِ رقابتی مشتری مهار میکنند
  3. تحویل زود به زود نرم‌افزار قابل استفاده دو، سه هفته یک بار تا دو ، سه ماه یک بار با ترجیح بر فاصله‌های زمانی کوتاه‌تر
  4. ذی نفعان کسب و کار و توسعه دهنده‌ها می‌بایست به صورت روزانه در طول پروژه با هم کار کنند
  5. پروژه‌ها را بر دوش افراد با انگیزه بنا کنید. فضای لازم رابه آنها بدهید و از نیازهای آن‌ها پشتیبانی کنید وبه آنها اعتماد کنید تا کارها را انجام دهند
  6. کارآمدترین و موثرترین روش انتقال اطلاعات به تیم توسعه و تبادل آن در میان اعضای تیم ، گفتگوی چهره به چهره است
  7. نرم افزار قابل استفاده اصلی‌ترین معیار سنجش پیشرفت است 
  8. فرآیند‌های چابک توسعه پایدار را ترویج می‌دهندحامیان مالی , توسعه دهندگان و کاربران باید بتوانند سرعت پیشرفت ثابتی را برای مدت نامحدودی حفظ کنند
  9. توجه مداوم به برتری فنی و طراحی خوب باعث افزایش چابکی می‌شود
  10. سادگی -- هنر به حداکثر رساندن مقدار کار انجام نشده -- ضروری است
  11. بهترین معماری‌ها , نیاز مندی‌ها و طراحی‌ها از تیم‌های خود سازمانده پدید آور می‌شود
  12. در فواصل منظم , تیم برچگونگی موثرتر شدن تامل وتفکر می‌نماید و سپس تیم رفتار خود را بر اساس بازتاب این تفکر تنظیم و هم سو می‌نماید
متاسفانه در ایران حالا یا به علت سواد کم و یا به هر علتی از این بیانیه برداشتهایی متفاوت و غلط عده ای اونو به بازی تشبیه کردن و عده ای هم با اون کار میکنن ولی هیچکدوم از اصل‌های اونو رعایت نمیکنن و بعد که پروژه شکست خورد میگن:متدولوژی خوب نبود و ... .
وقتی کتاب Agile Principles, Patterns, and Practices in C# رو مطالعه میکنید به این نتیجه میرسید که بیشترین چیزی که تاکید داره روی ارتباطات هستش.
قصد دارم در قالب چند پست به شما این اصول رو معرفی کنم.