{"id":24761,"date":"2021-05-21T12:21:00","date_gmt":"2021-05-21T09:21:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=24761"},"modified":"2021-10-18T03:11:49","modified_gmt":"2021-10-18T00:11:49","slug":"sistema-di-registrazione-e-accesso-utente-in-laravel","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/it\/sistema-di-registrazione-e-accesso-utente-in-laravel\/","title":{"rendered":"Sistema di registrazione e accesso utente in Laravel"},"content":{"rendered":"<p>Laravel fornisce un sistema di registrazione e accesso utente integrato. La maggior parte degli sviluppatori non \u00e8 a conoscenza di questo sistema integrato (anche io ero uno di loro). Quando sono venuto a conoscenza di questa funzione, sono rimasto sorpreso. Risparmia molto tempo dalla creazione di un sistema di accesso e registrazione da zero.<\/p>\n<p>In questo articolo, studiamo la registrazione dell&#8217;utente e il sistema di accesso in Laravel, la funzione integrata fornita da Laravel stesso.<\/p>\n<p>Come tutti sappiamo, il processo di accesso e registrazione ha un flusso sottostante che di solito deve essere integrato.<\/p>\n<ul>\n<li>L&#8217;utente crea un account<\/li>\n<li>Il link di conferma verr\u00e0 inviato all&#8217;indirizzo email dell&#8217;utente<\/li>\n<li>Una volta che l&#8217;utente fa clic sul collegamento di conferma, viene attivato sul tuo sistema.<\/li>\n<li>L&#8217;utente accede al tuo sito Web e pu\u00f2 accedere alle pagine<\/li>\n<\/ul>\n<p>Tutti i passaggi precedenti sono trattati in Laravel. Non \u00e8 necessario scrivere un codice per creare questo sistema di creazione degli utenti.<\/p>\n<p>Detto questo, diamo un&#8217;occhiata alla registrazione degli utenti e al sistema di accesso In Laravel<\/p>\n<h3>Iniziare<\/h3>\n<p>Per iniziare, dovresti essere pronto con il progetto Laravel. Se non lo hai, crealo eseguendo il comando:<\/p>\n<pre><code>composer create-project --prefer-dist laravel\/laravel laravel-dev<\/code><\/pre>\n<p>Qui &#8216;laravel-dev&#8217; \u00e8 il nome del progetto Laravel. L&#8217;utente pu\u00f2 modificare questo nome.<\/p>\n<p>Successivamente, devi integrare l&#8217;autenticazione Laravel. Vai alla directory principale del progetto nel terminale ed esegui i comandi seguenti uno per uno:<\/p>\n<pre><code>composer require laravel\/ui --dev\nphp artisan ui vue --auth\nnpm install &amp;&amp; npm run dev\n<\/code><\/pre>\n<p>Questi comandi creeranno controller di autenticazione come <code>LoginController.php<\/code>, <code>RegisterController.php<\/code>, ecc. che troverai nella <code>app\/Http\/Controllers\/Auth<\/code>directory. Crea anche una vista <code>login.blade.php<\/code>, <code>register.blade.php<\/code>sotto la <code>resources\/view\/auth<\/code>directory.<\/p>\n<p>I comandi precedenti creano anche un <code>app.blade.php<\/code>file nella <code>resources\/views\/layouts<\/code>directory. Questa vista \u00e8 un layout di base per l&#8217;applicazione. Utilizza il framework CSS Bootstrap ma l&#8217;utente pu\u00f2 personalizzarlo e modificare il design.<\/p>\n<p>Esegui il comando di migrazione che creer\u00e0 una tabella &quot;utenti&quot; nel tuo database.<\/p>\n<pre><code>php artisan migrate<\/code><\/pre>\n<p>Ora se esegui il progetto Laravel sul browser, vedrai i collegamenti per il login e il modulo di registrazione.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20530-608200a2d1ee4.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20530-608200a2d1ee4.png\" alt=\"Sistema di registrazione e accesso utente in Laravel\" ><\/a><\/p>\n<p>In questa fase, gli utenti possono creare il proprio account e accedere al sito web. Ma come ho detto sopra, prima che un utente possa accedere al sistema dovrebbe aver confermato il proprio account.<\/p>\n<p>Nel passaggio successivo, vedremo come eseguire il processo di verifica della posta elettronica di un utente.<\/p>\n<h3>verifica email<\/h3>\n<p>Durante la creazione di un sistema di registrazione, quando l&#8217;utente si registra si invia un collegamento di attivazione agli utenti. Questo link di attivazione verr\u00e0 utilizzato per verificare l&#8217;account utente. Una volta, l&#8217;utente fa clic su un collegamento di attivazione, quindi rendiamo attivo quell&#8217;utente. In altre parole, dopo aver verificato l&#8217;account, l&#8217;utente pu\u00f2 sfogliare le pagine della propria applicazione.<\/p>\n<p>Laravel fornisce un sistema integrato del processo di verifica della posta elettronica per un utente appena registrato. Utilizzando questo sistema, un utente registrato ricever\u00e0 un&#8217;e-mail con un link di attivazione. Dopo l&#8217;attivazione dell&#8217;account, l&#8217;utente potr\u00e0 accedere al sistema.<\/p>\n<p>Apri il <code>AppUser.php<\/code>file e assicurati che il modello &quot;Utente&quot; implementi il <code>IlluminateContractsAuthMustVerifyEmail<\/code>contratto.<\/p>\n<pre><code>&lt;?php\n\u00a0\nnamespace App;\n\u00a0\nuse IlluminateContractsAuthMustVerifyEmail;\nuse IlluminateFoundationAuthUser as Authenticatable;\nuse IlluminateNotificationsNotifiable;\n\u00a0\nclass User extends Authenticatable implements MustVerifyEmail\n{\n\u00a0\u00a0\u00a0\u00a0...\n\u00a0\u00a0\u00a0\u00a0...\n}<\/code><\/pre>\n<p>Come funziona? Se controlli il file di migrazione, la tabella &quot;utenti&quot; contiene una <code>email_verified_at<\/code>colonna. Questa colonna verr\u00e0 utilizzata per verificare se l&#8217;utente ha attivato o meno il proprio account. Se l&#8217;account \u00e8 attivato, questa colonna dovrebbe contenere la data e l&#8217;ora dell&#8217;attivazione.<\/p>\n<p>Quando esegui il comando di autenticazione, crea una <code>AuthVerificationController<\/code>classe con una logica scritta per inviare collegamenti di verifica e verificare le e-mail. Lo sviluppatore pu\u00f2 controllare questo file. Per registrare le route necessarie per questo controller, scrivi le route seguenti nel <code>routes\/web.php<\/code>file.<\/p>\n<pre><code>Auth::routes(['verify' =&gt; true]);<\/code><\/pre>\n<p>L&#8217;utente pu\u00f2 proteggere i propri percorsi che dovrebbero trovarsi dietro il login. Per proteggere i percorsi, \u00e8 necessario applicare <code>middleware('verified')<\/code>a tali percorsi. Successivamente, questi percorsi protetti sono accessibili solo da account verificati.<\/p>\n<p>Puoi scrivere il codice per proteggere il percorso come segue:<\/p>\n<pre><code>Route::get('profile', function() {\n\u00a0\u00a0\u00a0\u00a0return '&lt;h1&gt;This is profile page&lt;\/h1&gt;';\n})-&gt;middleware('verified');<\/code><\/pre>\n<p>Se vuoi avere il controllo su dove reindirizzare l&#8217;utente dopo la verifica, apri il <code>AuthVerificationController<\/code>file. Il file ha la variabile <code>$redirectTo<\/code>che utilizzer\u00e0 per il reindirizzamento. Modifica questo percorso secondo le tue esigenze.<\/p>\n<pre><code>protected $redirectTo = '\/home';<\/code><\/pre>\n<h3>Accesso utente e registrazione<\/h3>\n<p>Ora sei pronto per testare il sistema di accesso e registrazione dell&#8217;utente. Poich\u00e9 ci occupiamo del processo di registrazione, il tuo sistema dovrebbe essere in grado di inviare un&#8217;e-mail. Puoi utilizzare il server SMTP di Gmail per inviare e-mail. Per maggiori dettagli, leggi il nostro articolo <a href=\"https:\/\/themewp.inform.click\/it\/invio-di-e-mail-tramite-il-server-smtp-di-gmail-in-laravel\/\" title=\"Invio di e-mail tramite il server SMTP di Gmail in Laravel\" >Invio di e-mail tramite il server SMTP di Gmail in Laravel<\/a>.<\/p>\n<p>Avvia il server di sviluppo locale utilizzando il comando:<\/p>\n<pre><code>php artisan serve<\/code><\/pre>\n<p>Crea un account di un utente nella pagina di registrazione qui \u2013 <a href=\"http:\/\/localhost:8000\/register\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">http:\/\/localhost:8000\/register<\/a><\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20530-608200a2d1ee4.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20530-608200a2d1ee4.png\" alt=\"Sistema di registrazione e accesso utente in Laravel\" ><\/a><\/p>\n<p>Dopo aver inviato un modulo, riceverai il link di verifica sulla tua e-mail come segue:<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20530-608200a2d1ee4.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20530-608200a2d1ee4.png\" alt=\"Sistema di registrazione e accesso utente in Laravel\" ><\/a><\/p>\n<p>Tieni presente che Laravel ti consente di accedere al tuo account anche se non hai ancora verificato l&#8217;account. Ma non puoi accedere al percorso protetto.<\/p>\n<p>Ho aggiunto il middleware per il percorso <code>profile<\/code>. Senza verificare l&#8217;account se si tenta di visitare la pagina <a href=\"http:\/\/localhost:8000\/profile\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">http:\/\/localhost:8000\/profile<\/a>, verr\u00e0 reindirizzato <a href=\"http:\/\/localhost:8000\/email\/verify\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">all&#8217;URL http:\/\/localhost:8000\/email\/verify<\/a>.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20530-608200a2d1ee4.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20530-608200a2d1ee4.png\" alt=\"Sistema di registrazione e accesso utente in Laravel\" ><\/a><\/p>\n<p>Vai avanti e verifica il tuo account. Controlla la tabella &quot;utenti&quot; nel database e vedrai la <code>email_verified_at<\/code>colonna riempita con la data e l&#8217;ora di attivazione. Significa che hai verificato il tuo account con successo. Ora dovresti essere in grado di accedere a percorsi protetti.<\/p>\n<p>Spero che tu capisca come utilizzare il sistema di registrazione e accesso dell&#8217;utente in Laravel. Per favore condividi i tuoi pensieri e suggerimenti nel commento qui sotto.<\/p>\n<h4>articoli Correlati<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/integrazione-del-gateway-di-pagamento-authorize-net-in-laravel\/\" title=\"Integrazione del gateway di pagamento Authorize.Net in Laravel\">Integrazione del gateway di pagamento Authorize.Net in Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/come-creare-un-blog-con-laravel\/\" title=\"Come creare un blog con Laravel\">Come creare un blog con Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/come-creare-honeypot-per-combattere-lo-spam-dei-moduli-in-laravel\/\" title=\"Come creare Honeypot per combattere lo spam dei moduli in Laravel\">Come creare Honeypot per combattere lo spam dei moduli in Laravel<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte di registrazione:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In questo articolo, studiamo la registrazione degli utenti e il sistema di accesso in Laravel. Laravel fornisce questo sistema sull&#8217;installazione. Dobbiamo solo estendere questo<\/p>\n","protected":false},"author":1,"featured_media":22293,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[500],"tags":[846],"class_list":["post-24761","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/24761","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/comments?post=24761"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/24761\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media\/22293"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media?parent=24761"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/categories?post=24761"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/tags?post=24761"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}