 b24beb3154
			
		
	
	
		b24beb3154
		
	
	
	
	
		
			
			This commit integrates ASP.NET Core Identity into the application to enable user registration, login, and management. This lays the groundwork for securing data per user.
**Key Changes:**
*   **DbContext Configuration:**
    *   Modified `ApplicationDbContext.cs` to inherit from `IdentityDbContext<IdentityUser>`.
    *   Removed an unnecessary `using` statement from `ApplicationDbContext.cs`.
*   **Program.cs Setup:**
    *   Configured `AddDefaultIdentity<IdentityUser>` with `AddEntityFrameworkStores<ApplicationDbContext>()` to register Identity services.
    *   Ensured correct ordering of `UseAuthentication()` and `UseAuthorization()` middleware.
    *   Added `app.MapRazorPages()` to enable the Identity UI pages.
    *   Verified core package versions in `turf_tasker.csproj` for consistency across EF Core and Identity components (`8.0.6`).
*   **Identity UI:**
    *   Scaffolded ASP.NET Core Identity pages (Login, Register, Manage, etc.) to provide the user interface for authentication.
    *   Added a `_LoginPartial.cshtml` partial view to the `Views/Shared` folder.
    *   Rendered `_LoginPartial` in `Views/Shared/_Layout.cshtml` to display login/register/logout links in the navigation bar.
*   **Migrations:**
    *   Created and applied a new migration (`AddIdentitySchema`) to create the necessary ASP.NET Core Identity database tables (e.g., `AspNetUsers`, `AspNetRoles`).
		
	
			
		
			
				
	
	
		
			123 lines
		
	
	
	
		
			6.8 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			123 lines
		
	
	
	
		
			6.8 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| // Licensed to the .NET Foundation under one or more agreements.
 | |
| // The .NET Foundation licenses this file to you under the MIT license.
 | |
| #nullable disable
 | |
| 
 | |
| using System;
 | |
| using Microsoft.AspNetCore.Mvc.Rendering;
 | |
| 
 | |
| namespace  turf_tasker.Areas.Identity.Pages.Account.Manage
 | |
| {
 | |
|     /// <summary>
 | |
|     ///     This API supports the ASP.NET Core Identity default UI infrastructure and is not intended to be used
 | |
|     ///     directly from your code. This API may change or be removed in future releases.
 | |
|     /// </summary>
 | |
|     public static class ManageNavPages
 | |
|     {
 | |
|         /// <summary>
 | |
|         ///     This API supports the ASP.NET Core Identity default UI infrastructure and is not intended to be used
 | |
|         ///     directly from your code. This API may change or be removed in future releases.
 | |
|         /// </summary>
 | |
|         public static string Index => "Index";
 | |
| 
 | |
|         /// <summary>
 | |
|         ///     This API supports the ASP.NET Core Identity default UI infrastructure and is not intended to be used
 | |
|         ///     directly from your code. This API may change or be removed in future releases.
 | |
|         /// </summary>
 | |
|         public static string Email => "Email";
 | |
| 
 | |
|         /// <summary>
 | |
|         ///     This API supports the ASP.NET Core Identity default UI infrastructure and is not intended to be used
 | |
|         ///     directly from your code. This API may change or be removed in future releases.
 | |
|         /// </summary>
 | |
|         public static string ChangePassword => "ChangePassword";
 | |
| 
 | |
|         /// <summary>
 | |
|         ///     This API supports the ASP.NET Core Identity default UI infrastructure and is not intended to be used
 | |
|         ///     directly from your code. This API may change or be removed in future releases.
 | |
|         /// </summary>
 | |
|         public static string DownloadPersonalData => "DownloadPersonalData";
 | |
| 
 | |
|         /// <summary>
 | |
|         ///     This API supports the ASP.NET Core Identity default UI infrastructure and is not intended to be used
 | |
|         ///     directly from your code. This API may change or be removed in future releases.
 | |
|         /// </summary>
 | |
|         public static string DeletePersonalData => "DeletePersonalData";
 | |
| 
 | |
|         /// <summary>
 | |
|         ///     This API supports the ASP.NET Core Identity default UI infrastructure and is not intended to be used
 | |
|         ///     directly from your code. This API may change or be removed in future releases.
 | |
|         /// </summary>
 | |
|         public static string ExternalLogins => "ExternalLogins";
 | |
| 
 | |
|         /// <summary>
 | |
|         ///     This API supports the ASP.NET Core Identity default UI infrastructure and is not intended to be used
 | |
|         ///     directly from your code. This API may change or be removed in future releases.
 | |
|         /// </summary>
 | |
|         public static string PersonalData => "PersonalData";
 | |
| 
 | |
|         /// <summary>
 | |
|         ///     This API supports the ASP.NET Core Identity default UI infrastructure and is not intended to be used
 | |
|         ///     directly from your code. This API may change or be removed in future releases.
 | |
|         /// </summary>
 | |
|         public static string TwoFactorAuthentication => "TwoFactorAuthentication";
 | |
| 
 | |
|         /// <summary>
 | |
|         ///     This API supports the ASP.NET Core Identity default UI infrastructure and is not intended to be used
 | |
|         ///     directly from your code. This API may change or be removed in future releases.
 | |
|         /// </summary>
 | |
|         public static string IndexNavClass(ViewContext viewContext) => PageNavClass(viewContext, Index);
 | |
| 
 | |
|         /// <summary>
 | |
|         ///     This API supports the ASP.NET Core Identity default UI infrastructure and is not intended to be used
 | |
|         ///     directly from your code. This API may change or be removed in future releases.
 | |
|         /// </summary>
 | |
|         public static string EmailNavClass(ViewContext viewContext) => PageNavClass(viewContext, Email);
 | |
| 
 | |
|         /// <summary>
 | |
|         ///     This API supports the ASP.NET Core Identity default UI infrastructure and is not intended to be used
 | |
|         ///     directly from your code. This API may change or be removed in future releases.
 | |
|         /// </summary>
 | |
|         public static string ChangePasswordNavClass(ViewContext viewContext) => PageNavClass(viewContext, ChangePassword);
 | |
| 
 | |
|         /// <summary>
 | |
|         ///     This API supports the ASP.NET Core Identity default UI infrastructure and is not intended to be used
 | |
|         ///     directly from your code. This API may change or be removed in future releases.
 | |
|         /// </summary>
 | |
|         public static string DownloadPersonalDataNavClass(ViewContext viewContext) => PageNavClass(viewContext, DownloadPersonalData);
 | |
| 
 | |
|         /// <summary>
 | |
|         ///     This API supports the ASP.NET Core Identity default UI infrastructure and is not intended to be used
 | |
|         ///     directly from your code. This API may change or be removed in future releases.
 | |
|         /// </summary>
 | |
|         public static string DeletePersonalDataNavClass(ViewContext viewContext) => PageNavClass(viewContext, DeletePersonalData);
 | |
| 
 | |
|         /// <summary>
 | |
|         ///     This API supports the ASP.NET Core Identity default UI infrastructure and is not intended to be used
 | |
|         ///     directly from your code. This API may change or be removed in future releases.
 | |
|         /// </summary>
 | |
|         public static string ExternalLoginsNavClass(ViewContext viewContext) => PageNavClass(viewContext, ExternalLogins);
 | |
| 
 | |
|         /// <summary>
 | |
|         ///     This API supports the ASP.NET Core Identity default UI infrastructure and is not intended to be used
 | |
|         ///     directly from your code. This API may change or be removed in future releases.
 | |
|         /// </summary>
 | |
|         public static string PersonalDataNavClass(ViewContext viewContext) => PageNavClass(viewContext, PersonalData);
 | |
| 
 | |
|         /// <summary>
 | |
|         ///     This API supports the ASP.NET Core Identity default UI infrastructure and is not intended to be used
 | |
|         ///     directly from your code. This API may change or be removed in future releases.
 | |
|         /// </summary>
 | |
|         public static string TwoFactorAuthenticationNavClass(ViewContext viewContext) => PageNavClass(viewContext, TwoFactorAuthentication);
 | |
| 
 | |
|         /// <summary>
 | |
|         ///     This API supports the ASP.NET Core Identity default UI infrastructure and is not intended to be used
 | |
|         ///     directly from your code. This API may change or be removed in future releases.
 | |
|         /// </summary>
 | |
|         public static string PageNavClass(ViewContext viewContext, string page)
 | |
|         {
 | |
|             var activePage = viewContext.ViewData["ActivePage"] as string
 | |
|                 ?? System.IO.Path.GetFileNameWithoutExtension(viewContext.ActionDescriptor.DisplayName);
 | |
|             return string.Equals(activePage, page, StringComparison.OrdinalIgnoreCase) ? "active" : null;
 | |
|         }
 | |
|     }
 | |
| }
 |