Archivi mensili: Maggio 2024

AUTENTICAZIONE E AUTORIZZAZIONE PARTE DUE

AUTENTICAZIONE E AUTORIZZAZIONE ACCEDERE ALLA UI DI ASP.NET CORE IDENTITY Un’area è un contenitore logico o meglio un gruppo di funzionalità affini fra loro. In questo post vedremo la funzionalità, o meglio l'interfaccia utente che Identity ci mette a disposizione per registrarci, nonché come accedere alle varie sezioni del profilo utente. Parleremo dell'oggetto User e dell'oggetto SignInManager. Modificheremo infine la View _LogingPartial.cshtml.  Adesso impostiamo la View di Layout in modo da avere la stessa interfaccia anche in Identity creando un file _ViewStart.cshtml nella struttura di directory riportata. IMPOSTARE [...]

Di |2024-05-03T10:42:13+00:00Maggio 1, 2024|0 Commenti

AUTENTICAZIONE E AUTORIZZAZIONE PARTE TRE

AUTENTICAZIONE E AUTORIZZAZIONE STRUTTURA DI UNA RAZOR PAGE Una Razor Page offre un modo alternativo di veicolare dei contenuti ai nostri utenti, in esse ritroveremo i medesimi concetti che abbiamo incontrato in MVC. Vediamo la differenza strutturale tra MVC e Razor Page. Ad esempio, se prendiamo il Form di registrazione abbiamo una View Register.cshtml, e un file Register.cshtml.cs dove si trovano Controller e Model. Iniziamo con l’analizzare la View. Fondamentalmente non ci sono grosse differenze con una View MVC, l’unica cosa da notare è la direttiva @page in cima alla vista. La direttiva [...]

Di |2024-05-03T10:39:36+00:00Maggio 3, 2024|0 Commenti

AUTENTICAZIONE E AUTORIZZAZIONE PARTE QUATTRO

AUTENTICAZIONE E AUTORIZZAZIONE AGGIUNGERE UN CLAIM PERSONALIZZATO PER EVITARE CHIAMATE AL DATABASE Nei casi in cui l’applicazione venga fruita da molti utenti contemporaneamente ci sono tecniche alternative nell’inviare query alla tabella AspNetUsers. Vediamo dove possiamo aggiungere un claim per ricavare il FullName. Questo perché il FullName lo ricaviamo dallo UserManager<TUser> e ogni volta che ci spostiamo nelle pagine dell'applicazione viene fatta una query al database. Ci può essere un piccolo decadimento delle prestazioni se l'applicazione è fruita da molti utenti contemporaneamente.  Aggiungiamo nel cookie di autenticazione anche il FullName che, una volta autenticato l’utente con la [...]

Di |2024-05-05T16:38:35+00:00Maggio 5, 2024|0 Commenti

AUTORIZZAZIONE IN ASP.NET CORE PARTE UNO

AUTORIZZAZIONE SICUREZZA NELLE FASI DI AUTENTICAZIONE E AUTORIZZAZIONE L’autenticazione a due fattori richiede le credenziali utente e inoltre di esibire qualcosa che si possiede come uno smartphone con il suo codice di autenticazione. L’identità dell’utente è protetta anche dopo il login, perché abbiamo visto che viene emesso un cookie di autenticazione, che ha un contenuto protetto, cifrato impossibile da manomettere. Dopo la fase di autenticazione ne segue sempre un’altra, l’autorizzazione che consiste nel determinare se un’utente può o meno compiere una certa operazione. Un utente è autorizzato quando innanzitutto si è autenticato, poi bisogna vedere se [...]

Di |2024-05-08T08:44:42+00:00Maggio 8, 2024|0 Commenti

AUTORIZZAZIONE IN ASP.NET CORE PARTE DUE

AUTORIZZAZIONE CREARE UN FORM DI CONTATTO CON RAZOR PAGE Creeremo un Form di contatto in cui uno studente potrà inviare delle domande al docente. Non memorizzeremo queste informazioni nel database, ma spediremo la domanda via e-mail riutilizzando il servizio infrastrutturale MailKitEmailSender.cs. Il Form sarà composto da una TextArea in cui lo studente digiterà la sua domanda, e un pulsante per l'invio della e-mail. Sarà protetto con il servizio Google reCAPTCHA Versione due in modo che il Form sia protetto dagli spammer. Vediamo una parte del codice implementato. INVIARE UNA E-MAIL DI RICHIESTA INFORMAZIONI Uno studente per [...]

Di |2024-05-10T03:26:34+00:00Maggio 10, 2024|0 Commenti

AUTORIZZAZIONE IN ASP.NET CORE PARTE TRE

AUTORIZZAZIONE IDENTIFICARE I RUOLI DELL’APPLICAZIONE Sino adesso abbiamo individuato due macro-gruppi, gli utenti anonimi e gli utenti autenticati. Tuttavia, anche per gli utenti autenticati bisogna fare una distinzione, cioè utenti che possiedono un certo ruolo che gli consenta di fare certe operazioni e che sono precluse a tutto il resto degli utenti dato che non possiedono quel ruolo. Un utente cha ha associato il ruolo di Teacher tramite claim può compiere tutte le operazioni che compie un utente base. Comunque ci dovrà pur essere un utente che assegna questi ruoli, ad esempio da utente base [...]

Di |2024-05-15T03:39:14+00:00Maggio 12, 2024|0 Commenti

AUTORIZZAZIONE IN ASP.NET CORE PARTE QUATTRO

AUTORIZZAZIONE AUTORIZZARE IN BASE AL RUOLO CON L’ATTRIBUTO AUTHORIZE Con Authorize possiamo chiedere oltre all’autenticazione di possedere un determinato ruolo. In questo post parleremo di autorizzazione basata sui ruoli, abbiamo visto nei post precedenti che abbiamo due macro gruppi, utenti autenticati e utenti anonimi. A sua volta tra gli utenti autenticati abbiamo fatto una suddivisione, ossia coloro che possono creare, modificare, eliminare i corsi e questo è il ruolo Teacher e gli amministratori che si occupano di assegnare i ruoli agli utenti. Vedremo inoltre le Policy, infatti ancora la nostra applicazione ha un difetto, ossia entrando con il ruolo [...]

Di |2024-05-15T05:34:33+00:00Maggio 15, 2024|0 Commenti

E-COMMERCE PARTE UNO

E-COMMERCE MAPPARE UNA RELAZIONE MOLTI A MOLTI CON ENTITY FRAMEWORK CORE Siamo arrivati al punto cruciale della nostra applicazione, infatti la committente ci ha chiesto di realizzare l’applicazione MyCourse perché vuole trarne un beneficio economico. Possiamo raggiungere questo obbiettivo, ad esempio, facendo acquistare i corsi e pagandoli on-line, funzionalità tipica dell’e-commerce. Completato l’acquisto andiamo a chiedere all’utente di esprimere una valutazione. La relazione tra utenti e corsi è molti-a-molti, ad ogni corso possono iscriversi molti utenti, e ogni utente può iscriversi a molti corsi. Per creare la relazione molti a molti abbiamo bisogno di una terza [...]

Di |2024-05-17T06:44:32+00:00Maggio 17, 2024|0 Commenti

E-COMMERCE PARTE DUE

E-COMMERCE ACCETTARE UN PAGAMENTO ON-LINE Ci sono varie soluzioni tecniche per accettare pagamenti-on-line. Potremmo creare noi un Form e raccogliere i dati della carta di credito, tuttavia c’è un grosso ostacolo, ossia la fiducia del cliente. Immaginiamo che un utente arrivi sul nostro sito, mai sentito nominare, l’utente potrebbe essere titubante nell’inserire i dati della carta di credito, proprio perché essendo una prima visita l’utente potrebbe manifestare una scarsa fiducia nei confronti delle persone che sono alle spalle di MyCourse. Se vogliamo mettere in piedi un Form, ammettendo che il cliente si fidi, che raccolga i numeri di carta [...]

Di |2024-05-19T11:20:08+00:00Maggio 19, 2024|0 Commenti
Torna in cima