{"id":28306,"date":"2021-05-21T12:15:00","date_gmt":"2021-05-21T09:15:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=28306"},"modified":"2021-10-17T04:46:16","modified_gmt":"2021-10-17T01:46:16","slug":"anvandarregistrering-och-inloggningssystem-i-laravel","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/sv\/anvandarregistrering-och-inloggningssystem-i-laravel\/","title":{"rendered":"Anv\u00e4ndarregistrering och inloggningssystem i Laravel"},"content":{"rendered":"<p>Laravel erbjuder inbyggt anv\u00e4ndarregistrerings- och inloggningssystem. De flesta utvecklare k\u00e4nner inte till det h\u00e4r inbyggda systemet (jag var ocks\u00e5 en av dem). N\u00e4r jag fick veta om den h\u00e4r funktionen blev jag f\u00f6rv\u00e5nad. Det sparar mycket tid fr\u00e5n att skapa ett inloggnings- och registreringssystem fr\u00e5n grunden.<\/p>\n<p>I den h\u00e4r artikeln studerar vi anv\u00e4ndarregistrerings- och inloggningssystemet i Laravel &#8211; den inbyggda funktionen som tillhandah\u00e5lls av Laravel sj\u00e4lv.<\/p>\n<p>Som vi alla vet har inloggnings- och registreringsprocessen under fl\u00f6det som vanligtvis beh\u00f6ver integreras.<\/p>\n<ul>\n<li>Anv\u00e4ndaren skapar ett konto<\/li>\n<li>Bekr\u00e4ftelsel\u00e4nken skickas p\u00e5 anv\u00e4ndarens e-postadress<\/li>\n<li>N\u00e4r anv\u00e4ndaren klickar p\u00e5 bekr\u00e4ftelsel\u00e4nken aktiveras de p\u00e5 ditt system.<\/li>\n<li>Anv\u00e4ndaren loggar in p\u00e5 din webbplats och kan komma \u00e5t sidorna<\/li>\n<\/ul>\n<p>Alla ovanst\u00e5ende steg beskrivs i Laravel. Du beh\u00f6ver inte skriva en kod f\u00f6r att bygga detta anv\u00e4ndarskapande system.<\/p>\n<p>Med detta sagt, l\u00e5t oss ta en titt p\u00e5 anv\u00e4ndarregistrerings- och inloggningssystemet i Laravel<\/p>\n<h3>Komma ig\u00e5ng<\/h3>\n<p>F\u00f6r att komma ig\u00e5ng b\u00f6r du vara redo med Laravel-projektet. Om du inte har det skapar du det genom att k\u00f6ra kommandot:<\/p>\n<pre><code>composer create-project --prefer-dist laravel\/laravel laravel-dev<\/code><\/pre>\n<p>H\u00e4r \u00e4r &#8217;laravel-dev&#8217; namnet p\u00e5 Laravel-projektet. Anv\u00e4ndaren kan \u00e4ndra detta namn.<\/p>\n<p>D\u00e4refter m\u00e5ste du integrera Laravel-autentisering. G\u00e5 \u00f6ver till projektets rotkatalog i terminalen och k\u00f6r kommandona nedan en efter en:<\/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>Dessa kommandon skapar autentiseringsstyrenheter som <code>LoginController.php<\/code>, <code>RegisterController.php<\/code>etc, som du hittar i <code>app\/Http\/Controllers\/Auth<\/code>katalogen. Det skapar ocks\u00e5 en utsikt <code>login.blade.php<\/code>, <code>register.blade.php<\/code>enligt <code>resources\/view\/auth<\/code>katalogen.<\/p>\n<p>Ovanst\u00e5ende kommandon skapar ocks\u00e5 en <code>app.blade.php<\/code>fil under <code>resources\/views\/layouts<\/code>katalogen. Denna vy \u00e4r en baslayout f\u00f6r applikationen. Den anv\u00e4nder Bootstrap CSS-ramverket men anv\u00e4ndaren kan anpassa den och \u00e4ndra design.<\/p>\n<p>K\u00f6r migreringskommandot som skapar en &quot;anv\u00e4ndartabell&quot; i din databas.<\/p>\n<pre><code>php artisan migrate<\/code><\/pre>\n<p>Nu om du k\u00f6r Laravel-projektet i webbl\u00e4saren ser du l\u00e4nkarna f\u00f6r inloggnings- och registreringsformul\u00e4r.<\/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=\"Anv\u00e4ndarregistrering och inloggningssystem i Laravel\" ><\/a><\/p>\n<p>I detta skede kan anv\u00e4ndare skapa sitt konto och logga in p\u00e5 webbplatsen. Men som jag n\u00e4mnde ovan, innan en anv\u00e4ndare kan komma \u00e5t systemet borde de ha bekr\u00e4ftat sitt konto.<\/p>\n<p>I n\u00e4sta steg kommer vi att se hur man utf\u00f6r e-postverifieringsprocessen f\u00f6r en anv\u00e4ndare.<\/p>\n<h3>mejl verifikation<\/h3>\n<p>N\u00e4r du skapar ett registreringssystem skickar du en anv\u00e4ndarl\u00e4nk till anv\u00e4ndarna n\u00e4r du registrerar dig. Denna aktiveringsl\u00e4nk kommer att anv\u00e4ndas f\u00f6r att verifiera anv\u00e4ndarkontot. En g\u00e5ng klickar anv\u00e4ndaren p\u00e5 en aktiveringsl\u00e4nk s\u00e5 g\u00f6r vi den anv\u00e4ndaren aktiv. Med andra ord, efter att kontot har verifierats kan anv\u00e4ndaren bl\u00e4ddra bland sidorna i din applikation.<\/p>\n<p>Laravel tillhandah\u00e5ller ett inbyggt system f\u00f6r e-postverifiering f\u00f6r en nyregistrerad anv\u00e4ndare. Med detta system f\u00e5r en registrerad anv\u00e4ndare ett e-postmeddelande med en aktiveringsl\u00e4nk. N\u00e4r du aktiverar kontot kan anv\u00e4ndaren komma \u00e5t systemet.<\/p>\n<p>\u00d6ppna <code>AppUser.php<\/code>filen och se till att anv\u00e4ndarmodellen implementerar <code>IlluminateContractsAuthMustVerifyEmail<\/code>kontrakt.<\/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>Hur fungerar det? Om du markerar migreringsfilen inneh\u00e5ller tabellen &#8217;anv\u00e4ndare&#8217; en <code>email_verified_at<\/code>kolumn. Den h\u00e4r kolumnen kommer att anv\u00e4ndas f\u00f6r att verifiera om anv\u00e4ndaren har aktiverat sitt konto eller inte. Om kontot \u00e4r aktiverat b\u00f6r den h\u00e4r kolumnen ha datum och tid f\u00f6r aktivering.<\/p>\n<p>N\u00e4r du k\u00f6r autentiseringskommandot skapar det en <code>AuthVerificationController<\/code>klass som har logik skriven f\u00f6r att skicka verifieringsl\u00e4nkar och verifiera e-postmeddelanden. Utvecklaren kan kontrollera den h\u00e4r filen. F\u00f6r att registrera n\u00f6dv\u00e4ndiga rutter f\u00f6r denna styrenhet, skriv nedanst\u00e5ende rutter i <code>routes\/web.php<\/code>filen.<\/p>\n<pre><code>Auth::routes(['verify' =&gt; true]);<\/code><\/pre>\n<p>Anv\u00e4ndaren kan skydda sina rutter som ska ligga bakom inloggningen. F\u00f6r att skydda rutterna m\u00e5ste du ans\u00f6ka <code>middleware('verified')<\/code>om dessa rutter. Efter detta kan dessa skyddade rutter endast n\u00e5s via verifierade konton.<\/p>\n<p>Du kan skriva koden f\u00f6r att skydda rutten enligt f\u00f6ljande:<\/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>Om du vill ha kontroll \u00f6ver var du ska omdirigera anv\u00e4ndaren efter verifiering \u00f6ppnar du <code>AuthVerificationController<\/code>filen. Filen har variabeln <code>$redirectTo<\/code>som kommer att anv\u00e4ndas f\u00f6r omdirigering. \u00c4ndra denna rutt enligt dina krav.<\/p>\n<pre><code>protected $redirectTo = '\/home';<\/code><\/pre>\n<h3>Anv\u00e4ndarinloggning och registrering<\/h3>\n<p>Du \u00e4r nu redo att testa anv\u00e4ndarinloggnings- och registreringssystemet. Eftersom vi har att g\u00f6ra med registreringsprocessen b\u00f6r ditt system kunna skicka ett e-postmeddelande. Du kan anv\u00e4nda Gmail SMTP-servern f\u00f6r att skicka e-post. F\u00f6r mer information, l\u00e4s v\u00e5r artikel <a href=\"https:\/\/themewp.inform.click\/sv\/skicka-e-post-via-gmail-smtp-server-i-laravel\/\" title=\"Skicka e-post via Gmail SMTP-server i Laravel\" >Skicka e-post via Gmail SMTP-server i Laravel<\/a>.<\/p>\n<p>Starta den lokala utvecklingsservern med kommandot:<\/p>\n<pre><code>php artisan serve<\/code><\/pre>\n<p>Skapa ett anv\u00e4ndarkonto p\u00e5 registreringssidan h\u00e4r &#8211; <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=\"Anv\u00e4ndarregistrering och inloggningssystem i Laravel\" ><\/a><\/p>\n<p>N\u00e4r du skickar in ett formul\u00e4r f\u00e5r du verifieringsl\u00e4nken p\u00e5 din e-postadress enligt f\u00f6ljande:<\/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=\"Anv\u00e4ndarregistrering och inloggningssystem i Laravel\" ><\/a><\/p>\n<p>Observera att Laravel l\u00e5ter dig logga in p\u00e5 ditt konto \u00e4ven om du inte har verifierat kontot \u00e4nnu. Men du kan inte komma \u00e5t den skyddade rutten.<\/p>\n<p>Jag har lagt till middleware f\u00f6r rutten <code>profile<\/code>. Utan att verifiera kontot om du f\u00f6rs\u00f6ker bes\u00f6ka <a href=\"http:\/\/localhost:8000\/profile\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">http: \/\/ localhost: 8000 \/ profilsidan<\/a> kommer det att omdirigeras till <a href=\"http:\/\/localhost:8000\/email\/verify\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">http: \/\/ localhost: 8000 \/ email \/ verifiera<\/a> URL.<\/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=\"Anv\u00e4ndarregistrering och inloggningssystem i Laravel\" ><\/a><\/p>\n<p>Forts\u00e4tt och verifiera ditt konto. Kontrollera tabellen &#8217;anv\u00e4ndare&#8217; i databasen s\u00e5 kommer du att se <code>email_verified_at<\/code>kolumnen fylld p\u00e5 datum och tid f\u00f6r aktivering. Det betyder att du har verifierat ditt konto framg\u00e5ngsrikt. Nu ska du kunna komma \u00e5t skyddade rutter.<\/p>\n<p>Jag hoppas att du f\u00f6rst\u00e5r hur du anv\u00e4nder anv\u00e4ndarregistrerings- och inloggningssystemet i Laravel. Dela dina tankar och f\u00f6rslag i kommentaren nedan.<\/p>\n<h4>relaterade artiklar<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/sv\/authorize-net-payment-gateway-integration-i-laravel\/\" title=\"Authorize.Net Payment Gateway Integration i Laravel\">Authorize.Net Payment Gateway Integration i Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/sv\/hur-man-skapar-en-blogg-med-laravel\/\" title=\"Hur man skapar en blogg med Laravel\">Hur man skapar en blogg med Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/sv\/hur-man-skapar-honungspott-for-att-bekampa-skrappost-i-laravel\/\" title=\"Hur man skapar honungspott f\u00f6r att bek\u00e4mpa skr\u00e4ppost i Laravel\">Hur man skapar honungspott f\u00f6r att bek\u00e4mpa skr\u00e4ppost i Laravel<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Inspelningsk\u00e4lla:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I den h\u00e4r artikeln studerar vi om anv\u00e4ndarregistrering och inloggningssystem i Laravel. Laravel tillhandah\u00e5ller detta system vid installationen. Vi beh\u00f6ver bara ut\u00f6ka detta<\/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":[503],"tags":[850],"class_list":["post-28306","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel2-10","tag-affiai-sv"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts\/28306","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/comments?post=28306"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts\/28306\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/media\/22293"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/media?parent=28306"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/categories?post=28306"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/tags?post=28306"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}