Ψηφιακή Πανεπιστημιούπολη / Κύκλος Κώδικα

Εκμάθηση λογισμικού => Asp => Μνμα ξεκίνησε π: Vuyok στις Απρ 05, 2025, 11:38 Π

Τίτλ: ASP.NET Core Identity: Οδηγός Εγκατάστασης με Παραδείγματα Κώδικα
Αποσλή από: Vuyok στις Απρ 05, 2025, 11:38 Π
Η ASP[DOT]NET Core Identity είναι ένα ισχυρό και ευέλικτο σύστημα διαχείρισης ταυτοτήτων που χρησιμοποιείται για τη δημιουργία ασφαλών εφαρμογών με δυνατότητες εγγραφής, σύνδεσης και διαχείρισης χρηστών. Σε αυτό το άρθρο, θα σας καθοδηγήσουμε βήμα-βήμα στη διαδικασία εγκατάστασης της ASP[DOT]NET Core Identity σε ένα έργο, με πρακτικά παραδείγματα κώδικα. Αν είστε προγραμματιστής που θέλει να ενσωματώσει έλεγχο ταυτότητας στην εφαρμογή σας, αυτός ο οδηγός είναι ιδανικός για εσάς!

Τι είναι η ASP[DOT]NET Core Identity;
Η ASP[DOT]NET Core Identity είναι ένα πλαίσιο που παρέχει εργαλεία για τη διαχείριση χρηστών, κωδικών πρόσβασης, ρόλων και εξωτερικών παρόχων σύνδεσης (όπως Google ή Facebook). Υποστηρίζει τη βάση δεδομένων Entity Framework Core για την αποθήκευση δεδομένων και προσφέρει προσαρμοστικότητα για κάθε είδους εφαρμογή.

Βήματα Εγκατάστασης της ASP[DOT]NET Core Identity
Ακολουθήστε τα παρακάτω βήματα για να εγκαταστήσετε και να ρυθμίσετε την ASP[DOT]NET Core Identity:

1. Δημιουργία Νέου Έργου
Αρχικά, δημιουργήστε ένα νέο έργο ASP[DOT]NET Core μέσω του Visual Studio ή χρησιμοποιώντας την εντολή CLI:
Κώδικας [Επιλογή]
dotnet new webapp -o MyIdentityApp
cd MyIdentityApp


2. Προσθήκη του Πακέτου ASP[DOT]NET Core Identity
Προσθέστε το πακέτο Microsoft.AspNetCore.Identity.EntityFrameworkCore μέσω του NuGet Package Manager ή με την εντολή:
Κώδικας [Επιλογή]
dotnet add package Microsoft.AspNetCore.Identity.EntityFrameworkCore

3. Ρύθμιση του ApplicationDbContext
Δημιουργήστε μια κλάση που κληρονομεί από το IdentityDbContext για τη σύνδεση με τη βάση δεδομένων. Ανοίξτε το αρχείο Data/ApplicationDbContext.cs και προσθέστε:
Κώδικας [Επιλογή]
using Microsoft.AspNetCore.Identity.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;

namespace MyIdentityApp.Data
{
    public class ApplicationDbContext : IdentityDbContext
    {
        public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
            : base(options)
        {
        }
    }
}


4. Ρύθμιση Υπηρεσιών στο Program.cs
Ανοίξτε το αρχείο Program.cs και προσθέστε τις υπηρεσίες Identity μαζί με τη σύνδεση στη βάση δεδομένων (π.χ. SQL Server):
Κώδικας [Επιλογή]
var builder = WebApplication.CreateBuilder(args);

// Προσθήκη υπηρεσιών Identity
builder.Services.AddDbContext<ApplicationDbContext>(options =>
    options.UseSqlServer(builder.Configuration.GetConnectionString("DefaultConnection")));

builder.Services.AddIdentity<IdentityUser, IdentityRole>()
    .AddEntityFrameworkStores<ApplicationDbContext>()
    .AddDefaultTokenProviders();

// Ρύθμιση Razor Pages
builder.Services.AddRazorPages();

var app = builder.Build();

// Middleware
app.UseAuthentication();
app.UseAuthorization();

app.MapRazorPages();
app.Run();


5. Ρύθμιση Connection String
Στο αρχείο appsettings.json, προσθέστε τη συμβολοσειρά σύνδεσης για τη βάση δεδομένων σας:
Κώδικας [Επιλογή]
{
  "ConnectionStrings": {
    "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=MyIdentityDb;Trusted_Connection=True;MultipleActiveResultSets=true"
  }
}


6. Δημιουργία της Βάσης Δεδομένων
Εκτελέστε τις παρακάτω εντολές για να δημιουργήσετε τη βάση δεδομένων μέσω του Entity Framework:
Κώδικας [Επιλογή]
dotnet add package Microsoft.EntityFrameworkCore.Design
dotnet ef migrations add CreateIdentitySchema
dotnet ef database update


7. Προσθήκη Σελίδων Εγγραφής και Σύνδεσης
Για να προσθέσετε τις βασικές σελίδες Identity (εγγραφή, σύνδεση, αποσύνδεση), χρησιμοποιήστε το scaffolding. Εκτελέστε:
Κώδικας [Επιλογή]
dotnet aspnet-codegenerator identity -dc MyIdentityApp.Data.ApplicationDbContext

Αυτό θα δημιουργήσει τις απαραίτητες σελίδες Razor στο φάκελο Areas/Identity.

Παράδειγμα: Προσαρμογή του Μοντέλου Χρήστη
Αν θέλετε να προσθέσετε επιπλέον πεδία στο μοντέλο χρήστη, δημιουργήστε μια προσαρμοσμένη κλάση:
Κώδικας [Επιλογή]
using Microsoft.AspNetCore.Identity;

namespace MyIdentityApp.Models
{
    public class ApplicationUser : IdentityUser
    {
        public string FullName { get; set; }
    }
}


Στη συνέχεια, ενημερώστε το ApplicationDbContext και το Program.cs:
Κώδικας [Επιλογή]
// ApplicationDbContext.cs
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
    // ...
}

// Program.cs
builder.Services.AddIdentity<ApplicationUser, IdentityRole>()
    .AddEntityFrameworkStores<ApplicationDbContext>()
    .AddDefaultTokenProviders();


Συμπέρασμα
Η εγκατάσταση της ASP[DOT]NET Core Identity είναι μια απλή διαδικασία που σας επιτρέπει να προσθέσετε ισχυρές δυνατότητες ελέγχου ταυτότητας και εξουσιοδότησης στις εφαρμογές σας. Με τα βήματα που περιγράψαμε και τα παραδείγματα κώδικα, μπορείτε να ξεκινήσετε άμεσα. Δοκιμάστε να προσαρμόσετε το σύστημα στις δικές σας ανάγκες και εξερευνήστε τις δυνατότητες που προσφέρει!