پیاده سازی معادل Membership.GeneratePassword در ASP.NET Core
200, OK
https://www.ryadel.com/en/c-sharp-random-password-generator-asp-net-core-mvc/ icon

با استفاده از متد Membership.GeneratePassword که در فضای نام System.Web.Security موجود بود امکان تولید کلمه عبور رندوم وجود داشت که متاسفانه در ASP.NET Core  در دسترس نیست .

پیاده سازی معادل آن با الهام از منبع رسمی  

public static string GenerateRandomPassword(PasswordOptions opts = null)
{
    if (opts == null) opts = new PasswordOptions()
    {
        RequiredLength = 8,
        RequiredUniqueChars = 4,
        RequireDigit = true,
        RequireLowercase = true,
        RequireNonAlphanumeric = true,
        RequireUppercase = true
    };
 
    string[] randomChars = new [] {
        "ABCDEFGHJKLMNOPQRSTUVWXYZ",    // uppercase 
        "abcdefghijkmnopqrstuvwxyz",    // lowercase
        "0123456789",                   // digits
        "!@$?_-"                        // non-alphanumeric
    };
    Random rand = new Random(Environment.TickCount);
    List<char> chars = new List<char>();
 
    if (opts.RequireUppercase)
        chars.Insert(rand.Next(0, chars.Count), 
            randomChars[0][rand.Next(0, randomChars[0].Length)]);
 
    if (opts.RequireLowercase)
        chars.Insert(rand.Next(0, chars.Count),
            randomChars[1][rand.Next(0, randomChars[1].Length)]);
 
    if (opts.RequireDigit)
        chars.Insert(rand.Next(0, chars.Count),
            randomChars[2][rand.Next(0, randomChars[2].Length)]);
 
    if (opts.RequireNonAlphanumeric)
        chars.Insert(rand.Next(0, chars.Count),
            randomChars[3][rand.Next(0, randomChars[3].Length)]);
 
    for (int i = chars.Count; i < opts.RequiredLength 
        || chars.Distinct().Count() < opts.RequiredUniqueChars; i++)
    {
        string rcs = randomChars[rand.Next(0, randomChars.Length)];
        chars.Insert(rand.Next(0, chars.Count), 
            rcs[rand.Next(0, rcs.Length)]);
    }
 
    return new string(chars.ToArray());
}
پیاده سازی معادل Membership.GeneratePassword در ASP.NET Core
کتابخانه EFCore.BulkExtensions
200, OK
https://github.com/borisdj/EFCore.BulkExtensions icon
context.BulkInsert(entitiesList);                 context.BulkInsertAsync(entitiesList);
context.BulkUpdate(entitiesList);                 context.BulkUpdateAsync(entitiesList);
context.BulkDelete(entitiesList);                 context.BulkDeleteAsync(entitiesList);
context.BulkInsertOrUpdate(entitiesList);         context.BulkInsertOrUpdateAsync(entitiesList);         // Upsert
context.BulkInsertOrUpdateOrDelete(entitiesList); context.BulkInsertOrUpdateOrDeleteAsync(entitiesList); // Sync
context.BulkRead(entitiesList);                   context.BulkReadAsync(entitiesList);

کتابخانه EFCore.BulkExtensions
ساخت یک API GraphQL با ASP.NET Core 2
200, OK
https://fullstackmark.com/post/17/building-a-graphql-api-with-aspnet-core-2-and-entity-framework-core icon

همیشه مشکل هایی با API وجود داشته که توسعه دهندگان را آزار میدهد:

  • وجود endpoint‌های متفاوت
  • نسخه‌های متفاوت هر API
  • درخواست‌های متعدد
  • داده‌های زیاد که نیازی به آن‌ها نداریم
  • مستند سازی هر endpoint و پارامتر‌های آن

برای حل هرکدام از مشکلات بالا در RestAPI راه حل هایی ارائه شده است.
شرکت‌های بزرگ نیز از این قاعده جدا نیستند فیس بوک اما عقب نکشیده است و راه حلی ارائه کرده است به نام graphql این رویکرد یک library یا یک فریم ورک نیست بلکه راه حلی برای ساخت api با ساختاری شبیه به graph است.
Graphql در اصل به جای اینکه api را در قالب endpoint‌های متعدد در نظر بگیرید آن‌ها را در قالب graph در نظر میگیرد. 

                     

مخزن  

ساخت یک API GraphQL با ASP.NET Core 2
مقدمه ای بر امنیت وب CORS، CSP، HSTS
301, MovedPermanently
https://medium.freecodecamp.org/a-quick-introduction-to-web-security-f90beaf4dd41?gi=7c13e7ba0a1d icon

There are many reasons to learn about web security, such as

  • You’re a concerned user who is worried about your personal data being leaked
  • You’re a concerned web developer who wants to make their web apps more secure
  • You’re a web developer applying to jobs, and you want to be ready if your interviewers ask you questions about web security 
مقدمه ای بر امنیت وب CORS، CSP، HSTS