Building a Custom Role-Based Authorization System in ASP.NET Core