ASP.Net Core Authentication and Authorization Basics in .Net Core 6.0

In this article, we will discuss the ASP.Net Core Authentication and Authorization Basics in .Net Core 6.0.

Prerequisites

  • Download and install .Net Core 6.0 SDK from here
  • Download and Install Microsoft Visual Studio 2022 from here

Previous Article you can also check Create ASP.Net Core Web API

Create ASP.NET Core Web App

  • Open visual studio and click the Create New Project Option
  • Select the Blank Template
  • Enter the name of the Project

Select Framework and Click on Create

    Create Controller

    Create the Home Controller

    using Microsoft.AspNetCore.Authentication;
    using Microsoft.AspNetCore.Authorization;
    using Microsoft.AspNetCore.Mvc;
    using System.Security.Claims;
    
    namespace App_Auth_Authorization.Controllers
    {
        public class HomeController : Controller
        {
            public IActionResult Index()
            {
                return View();
            }
    
            [Authorize]
            public IActionResult Employee()
            {
                return View();
            }
     public async Task<IActionResult> Authenticate()
            {
                var Auth_Claims = new List<Claim>
                {
                    new Claim(ClaimTypes.Name,"labpys.com"),
                    new Claim(ClaimTypes.Name,"Example@labpys.com"),               
    
                };
    
                var license = new List<Claim>() {
    
                    new Claim(ClaimTypes.Name, "Admin"),
                    new Claim("UniqueIdentity", "B+"),
    
                };
    
    
                var AuthIdenity = new ClaimsIdentity(Auth_Claims, "Auth_Tutorial");
                var LicenseIdentity = new ClaimsIdentity(license, "Auth_Tutorial");
                var userPrincipal = new ClaimsPrincipal( new[] { AuthIdenity, LicenseIdentity });
                await HttpContext.SignInAsync(userPrincipal);
    
                return Redirect(nameof(Index));
            }
    
            
        }
    }

    Authorization – To make ASP.NET Core Authorized Attribute work, you must include the relevant middleware in program class.

    var builder = WebApplication.CreateBuilder(args);
    
    var services = builder.Services;    
    
    services.AddControllersWithViews();
    
    services.AddAuthentication("CookieAuth")
        .AddCookie("CookieAuth", config =>
        {
            config.Cookie.Name = "Auth_Tutorial";
            config.LoginPath = "/Home/Authenticate";
    
        });
    services.AddMvc();
    
    var app = builder.Build();
    
    app.UseAuthentication();
    app.UseRouting();
    app.UseAuthorization();
    
    
    app.UseEndpoints(endpoints =>
    {
        endpoints.MapDefaultControllerRoute();
    });
    app.Run();

    Customize View

    Index.cshtml

     
    @{
    }
    
    <h1>Layout Page</h1>

    Employee.cshtml

     
    @{
    }
    
    <h1>Employee Detail</h1>

    Leave a Reply

    Your email address will not be published. Required fields are marked *