ASP.NET Core Identity به همراه دو قابلیت جدید است که پیاده سازی سطوح دسترسی پویا را با سهولت بیشتری میسر میکند:
الف) Policies
ب) Role Claims
سیاستهای دسترسی یا Policies در ASP.NET Core Identity
ASP.NET Core Identity هنوز هم از مفهوم Roles پشتیبانی میکند. برای مثال میتوان مشخص کرد که اکشن متدی و یا تمام اکشن متدهای یک کنترلر تنها توسط کاربران دارای نقش Admin قابل دسترسی باشند. اما نقشها نیز در ...
از نگارشهای پیشین ASP.NET، هنوز هم اطلاعات شیء User مانند User.Identity.Name در ASP.NET Core نیز در دسترس هستند. به این ترتیب زمانیکه کاربری به سیستم وارد شد، دیگر نیازی نیست تا جهت یافتن Name او، از بانک اطلاعاتی کوئری گرفت. خاصیت Name یاد شده به صورت خودکار از کوکی رمزنگاری شدهی او دریافت شده و در اختیار برنامه قرار میگیرد. این Name در ASP.NET Core Identity، اصطلاحا یک User Claim پیشفرض نام دارد و به صورت خودکار ایجاد و مقدار دهی می ...
چندی قبل مطلب « نرمال سازی اطلاعات کاربران در حین ثبت نام » را در سایت جاری مطالعه کردید. پیاده سازی یک چنین قابلیتی به صورت توکار در ASP.NET Core Identity پیش بینی شدهاست. همچنین تمام اعتبارسنجهای نامهای کاربران، کلمات عبور آنها، ایمیلهای آنها و غیره را نیز میتوان سفارشی سازی کرد و بجای سرویسهای پیشفرض آنها معرفی و جایگزین نمود.
سفارشی سازی نرمال سازها
اگر به طراحی جداول ASP.NET Core Identity دقت کنید، ت ...
در قسمت قبل کلاسهای متناظر با جداول پایهی ASP.NET Core Identity را تغییر دادیم. اما هنوز سرویسهای پایهی این فریم ورک مانند مدیریت و ذخیرهی کاربران و مدیریت و ذخیرهی نقشها، اطلاعی از وجود آنها ندارند. در ادامه این سرویسها را نیز سفارشی سازی کرده و سپس به ASP.NET Core Identity معرفی میکنیم.
سفارشی سازی RoleStore
ASP.NET Core Identity دو سرویس را جهت کار با نقشهای کاربران پیاده سازی کردهاست:
- سرو ...
با به پایان رسیدن مرحلهی توسعهی ASP.NET Identity 2.x مخصوص نگارشهای ASP.NETایی که از Full .NET Framework استفاده میکنند، نگارش جدید آن صرفا بر پایهی ASP.NET Core تهیه شدهاست و در طی یک سری، نحوهی سفارشی سازی تقریبا تمام اجزای آنرا بررسی خواهیم کرد. جهت سهولت پیگیری این سری، پروژهی کامل سفارشی سازی شدهی ASP.NET Core Identity را از مخزن کد DNT Identity میتوانید دریافت کنید.
پیشنیازهای اجرای پروژهی DNT Identity ...
هنوز هم اجزای مختلف فایل web.config در ASP.NET Core قابل تعریف و استفاده هستند ؛ اما اگر صرفا بخواهیم از این نوع برنامهها در ویندوز و به کمک وب سرور IIS استفاده کنیم. با انتقال برنامههای چندسکویی مبتنی بر NET Core. به سایر سیستم عاملها، دیگر اجزایی مانند استفادهی از ماژول فشرده سازی صفحات IIS و یا ماژول URL rewrite آن و یا تنظیمات static cache تعریف شدهی در فایل web.config، شناسایی نشده و تاثیری نخواهند داشت. به همین جهت تیم ASP.NET ...
ASP.NET Core به همراه زیر ساختیاست جهت خارج کردن امکانات Caching درون حافظهای آن از سرور جاری و انتقال آن به سرورهای دیگر جهت کاهش بار سرور و برنامه. این کش توزیع شده را میتوان به عنوان زیرساختی برای مدیریت سشنها، مدیریت اطلاعات کش و همچنین مدیریت کوکیهای حجیم ASP.NET Core Identity نیز بکار گرفت. برای مثال بجای ارسال یک کوکی حجیم بالای 5 کیلوبایت به کلاینت، فقط ID رمزنگاری شدهی آنرا ارسال کرد و اصل کوکی را در داخل دیتابیس ذخیره و ...
آقای Domenic Denicola در نسخههای بعدی، طرح پیشنهادی را مطرح کرده است که مربوط به بارگذاری داینامیک ماژولهای JS میباشد. البته کتابخانهها و روشهایی در حال حاضر برای این کار وجود دارند. با هم مثالهایی از این قابلیت را بررسی میکنیم. در نسخه جدید Javascript قابلیتی برای import کردن ماژولها وجود دارد؛ ولی این قابلیت کاملا استاتیک میباشد. کد زیر را مشاهده کنید: import someModule from './dir/someModule.js'; خوب سوالی که ...
یک نمونه روش یافتن لیست تمام کنترلرها و اکشن متدهای یک برنامهی ASP.NET MVC 5.x را در مطلب « نحوه ایجاد یک نقشهی سایت پویا با استفاده از قابلیت Reflection » میتوانید ملاحظه کنید. استفادهی از این روش با ASP.NET Core الزاما به پاسخ مناسبی نخواهد رسید؛ چون در اینجا POCO controllers هم اضافه شدهاند. به علاوه میتوان اسمبلیهای دیگری را در زمان آغاز برنامه به تنظیمات AddMvc اضافه کرد و تمام آنها هم میتوانند حاوی کنترلرها و ویووها خاص خ ...
امروزه استفاده از کانالهای تلگرام بسیار پر کاربرد شده و کاربران صفحات مجازی را مشغول کرده است. برنامه نویسان وب برای استفاده از APIهای تلگرام میتوانند به https://core.telegram.org/ مراجعه و توابع بیشتری را در پروژههای خود استفاده کنند.
ایجاد یک کانال و بات
بعد از ایجاد یک کانال public نیاز است یک بات ایجاد کنید . سپس این بات را به ع ...