برنامههایی که بخواهند سازگار با GDPR باشند، باید اصل 17 ام آن را که حق فراموش شدن است «Right to erasure ('right to be forgotten') »، پیاده سازی کنند؛ به علاوه اشخاص باید بتوانند اطلاعات شخصی خودشان را نیز بدون درنگ از آن سایت دریافت کنند. به عبارتی اگر شخصی در سایت شما ثبت نام کرد، باید قسمتی را هم در آن درنظر بگیرید که کاربر با فشردن یک کلیک، بتواند اکانت فعلی خودش را برای همیشه محو و نابود کند؛ بدون اینکه اثری از آن باقی بماند. همچنی ...
از نگارش ASP.NET Core Identity 2.1 به بعد، ویژگی جدید ProtectedPersonalData در تعاریف موجودیت کاربران سیستم مشاهده میشود: public class IdentityUser<TKey> where TKey : IEquatable<TKey>
{
[ProtectedPersonalData]
public virtual string UserName { get; set; }
[ProtectedPersonalData]
public virtual string Email { get; set; }
این ویژگی در حقیقت یک نشانهگذار است. کار آن اعلام نیاز به ذخیره ساز ...
فرض کنید قصد داریم متد « SeedDatabaseWithAdminUserAsync » را توسط روش جدید « مقدار دهی اولیهی بانک اطلاعاتی توسط Entity framework Core » بازنویسی کنیم. در ادامه مراحل اینکار را مرور خواهیم کرد.
اضافه کردن نقش پیشفرض Admin
اولین تغییری که در اینجا مورد نیاز است، افزودن نقش پیشفرض Admin است. برای این منظور توسط یک IEntityTypeConfiguration جدید، تنظیمات موجودیت سفارشی Role برنامه را به نحو زیر انجام می ...
در نگارشهای اولیهی ASP.NET Core، پشتیبانی از authorization، صرفا توسط ویژگی [Authorize]، قابل اعمال به اکشن متد خاصی بود. برای بهبود تنظیم این قابلیت، میانافزار جدید Authorization به ASP.NET Core 3.0 اضافه شدهاست و تنظیم آن جهت کار با امکانات امنیتی برنامه، الزامی است؛ در غیر اینصورت در حین مرور این صفحات و قسمتهای محافظت شده، برنامه با خطای زیر متوقف خواهد شد: Endpoint xyz contains authorization metadata, but a middleware was not ...
عصر Thick Clients
امن سازی برنامههای وب همواره چالش برانگیز بودهاست؛ خصوصا این روزها که نیاز است برنامهها، خارج از دیوارهای یک شرکت نیز در دسترس باشند و توسط انواع و اقسام وسایل ارتباطی مورد استفاده قرار گیرند. در سالهای قبل، عموما برنامههای thick clients مانند WPF و WinForms برای شرکتها توسعه داده میشدند و یا برنامههای وب مانند ASP.NET Web Forms که مبتنی بر سرویسها نبودند. در برنامههای ویندوزی، پس از لاگین شخص به ش ...
دیروز (25 ماه May سال 2018) اولین روز فعالسازی GDPR یا General Data Protection Regulation بود و به همین خاطر است که اگر به سرویسهای مهم اینترنتی دقت کرده باشید، پر شدهاست از پیامهایی مانند «ما از کوکی استفاده میکنیم»، «ما اطلاعات شما را به این صورت ذخیره میکنیم» و امثال آن. همچنین تعداد زیادی از سرویسهای اینترنتی نیز به کاربران خود پیامهایی را جهت تائید قوانین جدید رعایت حریم خصوصی آنها ارسال کردهاند. برای مثال اگر این قوانین جدید ...
اعتبارسنجی مبتنی بر ویندوز، بر اساس قابلیتهای توکار ویندوز و اختیارات اعطا شدهی به کاربر وارد شدهی به آن، کار میکند. عموما محل استفادهی از آن، در اینترانت داخلی شرکتها است که بر اساس وارد شدن افراد به دومین و اکتیودایرکتوری آن، مجوز استفادهی از گروههای کاربری خاص و یا سطوح دسترسی خاصی را پیدا میکنند. میانافزار اعتبارسنجی ASP.NET Core، علاوه بر پشتیبانی از روشهای اعتبارسنجی مبتنی بر کوکیها و یا توکنها ، قابلیت استفادهی از ...
AuthenticationMiddleware در ASP.NET Core 2.0، فقط مختص به کار با کوکیها جهت اعتبارسنجی کاربران نیست. از این میانافزار میتوان برای اعتبار سنجیهای مبتنی بر JSON Web Tokens نیز استفاده کرد. مطلبی را که در ادامه مطالعه خواهید کرد دقیقا بر اساس نکات مطلب « پیاده سازی JSON Web Token با ASP.NET Web API 2.x » تدارک دیده شدهاست و به همراه نکاتی مانند تولید Refresh Tokens و یا غیرمعتبر سازی توکنها نیز هست. همچنین ساختار جداول کاربران و نقشهای ...
ASP.NET Core 2.0 به همراه یک AuthenticationMiddleware است که یکی از قابلیتهای این میانافزار، افزودن اطلاعات کاربر و یا همان HttpContext.User به یک کوکی رمزنگاری شده و سپس اعتبارسنجی این کوکی در درخواستهای بعدی کاربر است. این مورد سبب خواهد شد تا بتوان بدون نیاز به پیاده سازی سیستم کامل ASP.NET Core Identity، یک سیستم اعتبارسنجی سبک، ساده و سفارشی را تدارک دید.
تعریف موجودیتهای مورد نیاز جهت طراحی یک سیستم اعتبارسنجی ...
در مطلب « امکان ساخت قالب برای پروژههای NET Core. » با مقدمات تبدیل یک پروژهی سفارشی سازی شده، به یک قالب ایجاد پروژههای جدید NET Core. آشنا شدیم. اگر علاقمند باشید میتوانید قالبهای خود را به صورت بستههای نیوگت نیز با دیگران به اشتراک بگذارید. برای نمونه تمام قالبهایی را که توسط دستور dotnet new قابل نصب هستند، میتوانید در مسیر ذیل، در سیستم خود پیدا کنید: %userprofile%\.templateengine\dotnetcli
و یا قالبی ...