{"id":1055,"date":"2022-02-15T10:58:16","date_gmt":"2022-02-15T03:58:16","guid":{"rendered":"https:\/\/duniacoding.info\/?p=1055"},"modified":"2022-02-15T10:58:19","modified_gmt":"2022-02-15T03:58:19","slug":"belajar-laravel-login-dan-logout-pada-laravel","status":"publish","type":"post","link":"https:\/\/duniacoding.id\/blog\/belajar-laravel-login-dan-logout-pada-laravel\/","title":{"rendered":"Belajar Laravel 8 #11 : Sistem Login dan Logout pada Laravel"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/duniacoding.info\/wp-content\/uploads\/2021\/12\/laravel_logo_icon_170314.png\" alt=\"login-dan-logout-pada-laravel\" class=\"wp-image-762\" width=\"840\" height=\"420\" srcset=\"https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2021\/12\/laravel_logo_icon_170314.png 512w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2021\/12\/laravel_logo_icon_170314-300x150.png 300w\" sizes=\"(max-width: 840px) 100vw, 840px\" \/><\/figure>\n\n\n\n<p>Setelah diartikel sebelumnya kita belajar tentang sistem Register, sekarang kita akan membaut Sistem Login dan Logout pada Laravel. Sistem ini merupakan lanjutan dari Sistem Register yang kemarin sudah kita selesaikan. <\/p>\n\n\n\n<p>Login dan Logout merupakan Fitur yang sering sekali ada di Web App. Login dan Logout ini akan sangat berguna kedepannya. Disini akan aku jelaskan Fitur ini melanjutkan dari Fitur Register pada Artikel <a href=\"https:\/\/duniacoding.info\/belajar-laravel-8-11-sistem-login-dan-logout-pada-laravel\" target=\"_blank\" rel=\"noopener\">Belajar Laravel 8 #10 : Sistem Register pada Laravel<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"pembuatan-sistem-login-dan-logout-pada-laravel\">Pembuatan Sistem Login dan Logout pada Laravel<\/h2>\n\n\n\n<p>Nah, karena kita melanjutkan artikel sebelumnya, kita tidak harus melakukan Proses instalasi Laravel atau pun setting Database. Kita akan lanjut untuk buat <code>Controller<\/code>, <code>tampilan<\/code>, dan <code>Route <\/code>saja.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"setting-controller\">Setting Controller<\/h3>\n\n\n\n<p>Disini, kita akan membuat Controller baru khusus untuk Login dan Logout. Controller ini akan berisi 3 Fungsi yang berbeda. <\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Fungsi pertama untuk menampilkan tampilan Login, akan kita beri nama <code>index()<\/code><\/li><li>Fungsi kedua adalah untuk autentikasi Login kita, akan kita beri nama <code>authenticate()<\/code><\/li><li>Fungsi ketiga adalah untuk Logout, jadi kita beri nama <code>logout()<\/code><\/li><\/ol>\n\n\n\n<p>Nah, sekarang kita buat LoginController terlebih dahulu, setelah itu syntax nya kurang lebih seperti dibawah ini<\/p>\n\n\n\n<p>File LoginController.php<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&lt;?php\n\nnamespace App\\Http\\Controllers;\n\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\Auth;\n\nclass LoginController extends Controller\n{\n    public function index()\n    {\n        return view(&#039;login&#039;, &#91;\n            &#039;title&#039; =&gt; &#039;Login&#039;\n        ]);\n    }\n\n    public function authenticate(Request $request)\n    {\n        $credentials = $request-&gt;validate(&#91;\n            &#039;email&#039; =&gt; &#91;&#039;required&#039;, &#039;email:dns&#039;],\n            &#039;password&#039; =&gt; &#91;&#039;required&#039;]\n        ]);\n\n        if (Auth::attempt($credentials)) {\n            $request-&gt;session()-&gt;regenerate();\n            return redirect()-&gt;intended(&#039;\/dashboard&#039;);\n        }\n\n        return back()-&gt;with(&#039;loginError&#039;, &#039;Login failed&#039;);\n    }\n\n    public function logout(Request $request)\n    {\n        Auth::logout();\n\n        request()-&gt;session()-&gt;invalidate();\n\n        request()-&gt;session()-&gt;regenerateToken();\n\n        return redirect(&#039;\/login&#039;);\n    }\n}\n\n<\/pre><\/div>\n\n\n<p>Bisa dilihat dari Syntax diatas terdapat 3 Fungsi yang berbeda. Bisa diperhatikan ada Fungsi index(), authenticate(), dan logout(). <\/p>\n\n\n\n<p>Kalau kalain perhatikan di fungsi authenticate(), Fungsi ini melakukan sebuah validasi dari Email dan Password yang di inputkan oleh User saat Login, nah didalam fungsi <code>login()<\/code> ini, kita menggunakan <code>session()-&gt;regenerate()<\/code>, artinya kita membuat session untuk Akun yang Login di Website kita.<\/p>\n\n\n\n<p>Terakhir ada fungsi <code>logout()<\/code>, sudah jelas fungsi ini digunakan untuk Keluar\/logout. Apabila diperhatikan syntax-nya, fungsi ini &#8220;mematikan&#8221; session yang sedang berjalan, oleh karena itu User yang login bisa keluar \/ logout.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"setting-routes\">Setting Routes<\/h3>\n\n\n\n<p>Setelah kita selesai membuat <code>LoginController<\/code>, sekarang saatnya kita setting untuk Route kita di File <code>web.php<\/code>. Di-route kita ini kita harus menambahkan beberapa syntax yang digunakan untuk mengarahkan ke <code>LoginContrroller<\/code> kita. Kurang lebih seperti ini syntax nya.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nuse App\\Http\\Controllers\\LoginController;\n\nRoute::get(&#039;\/dashboard&#039;, function () {\n    return view(&#039;index&#039;);\n});\n\nRoute::get(&#039;\/login&#039;, &#91;LoginController::class, &#039;index&#039;])-&gt;name(&#039;login&#039;)-&gt;middleware(&#039;guest&#039;);\nRoute::post(&#039;\/login&#039;, &#91;LoginController::class, &#039;authenticate&#039;]);\nRoute::post(&#039;\/logout&#039;, &#91;LoginController::class, &#039;logout&#039;]);\n<\/pre><\/div>\n\n\n<p>Nah, disana kita membaut beberapa syntax. Yang harus diperhatikan pertama adalah <code>Route::get('\/dashboard')<\/code>, ini digunakan untuk tampilan saat kita login nanti.<\/p>\n\n\n\n<p>Selanjutnya ada 3 syntax yang mengarah langsung ke <code>LoginController <\/code>kita. Ada <code>Route::get('\/login') <\/code>untuk menampilkan tampilan Login, <code>Route::post('\/login')<\/code> untuk mengirimkan Data Login kita, dan <code>Route::post('\/logout')<\/code> untuk kita Logout.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"setting-views\">Setting views<\/h3>\n\n\n\n<p>Hal terakhir yang harus kita setting di Login dan Logout pada Laravel ini adalah mengatur tampilan atau <code>views<\/code>. Disini ada beberapa tampilan yang akan kita atur, Pertama adalah tampilan untuk Login, yang kedua adalah tampilan untuk User misal User ini telah Login. <\/p>\n\n\n\n<p>Kita akan buat tampilan Login terlebih dahulu, kurang lebih seperti ini syntaxnya disini kita menggunakan template dari Bootstrap yang bisa kalian lihat disini <a href=\"https:\/\/getbootstrap.com\/\" target=\"_blank\" rel=\"noopener\">https:\/\/getbootstrap.com\/<\/a><\/p>\n\n\n\n<p>File login.blade.php<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&lt;!doctype html&gt;\n&lt;html lang=&quot;en&quot;&gt;\n\n&lt;head&gt;\n    &lt;!-- Required meta tags --&gt;\n    &lt;meta charset=&quot;utf-8&quot;&gt;\n    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1&quot;&gt;\n\n    &lt;!-- Bootstrap CSS --&gt;\n    &lt;link href=&quot;https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.1.3\/dist\/css\/bootstrap.min.css&quot; rel=&quot;stylesheet&quot;\n        integrity=&quot;sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3&quot; crossorigin=&quot;anonymous&quot;&gt;\n\n    &lt;title&gt;Login&lt;\/title&gt;\n&lt;\/head&gt;\n\n&lt;body&gt;\n    &lt;div class=&quot;row justify-content-center&quot; style=&quot;margin-top: 150px&quot;&gt;\n        &lt;div class=&quot;col-lg-6&quot;&gt;\n            &lt;main class=&quot;form-registration&quot;&gt;\n                &lt;h1 class=&quot;h3 mb-3 fw-normal text-center&quot;&gt;Login&lt;\/h1&gt;\n                &lt;form action=&quot;\/login&quot; method=&quot;POST&quot;&gt;\n                    @csrf\n                    &lt;div class=&quot;form-floating&quot;&gt;\n                        &lt;input type=&quot;email&quot; class=&quot;form-control &quot; name=&quot;email&quot; id=&quot;email&quot; required\n                            value=&quot;{{ old(&#039;email&#039;) }}&quot; placeholder=&quot;name@example.com&quot;&gt;\n                        &lt;label for=&quot;email&quot;&gt;Email address&lt;\/label&gt;\n                    &lt;\/div&gt;\n                    &lt;div class=&quot;form-floating&quot;&gt;\n                        &lt;input type=&quot;password&quot; class=&quot;form-control rounded-bottom&quot; name=&quot;password&quot; id=&quot;password&quot; required\n                            placeholder=&quot;Password&quot;&gt;\n                        &lt;label for=&quot;password&quot;&gt;Password&lt;\/label&gt;\n                    &lt;\/div&gt;\n\n                    &lt;button class=&quot;w-100 btn btn-lg btn-danger mt-3&quot; type=&quot;submit&quot;&gt;Login&lt;\/button&gt;\n                &lt;\/form&gt;\n                &lt;small class=&quot;d-block mt-3&quot;&gt;Doesn&#039;t have an account? &lt;a class=&quot;text-danger&quot; href=&quot;\/register&quot;&gt;\n                        Register\n                        Now!&lt;\/a&gt;&lt;\/small&gt;\n            &lt;\/main&gt;\n        &lt;\/div&gt;\n    &lt;\/div&gt;\n\n    &lt;script src=&quot;https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.1.3\/dist\/js\/bootstrap.bundle.min.js&quot;\n        integrity=&quot;sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p&quot; crossorigin=&quot;anonymous&quot;&gt;\n    &lt;\/script&gt;\n&lt;\/body&gt;\n\n&lt;\/html&gt;\n<\/pre><\/div>\n\n\n<p>Nah kalau Login ini ditampilkan, kurang lebih akan seperti ini tampilannya<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"254\" src=\"https:\/\/duniacoding.info\/wp-content\/uploads\/2022\/02\/Lar-11-1-1024x254.png\" alt=\"\" class=\"wp-image-1076\" srcset=\"https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2022\/02\/Lar-11-1-1024x254.png 1024w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2022\/02\/Lar-11-1-300x74.png 300w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2022\/02\/Lar-11-1-768x190.png 768w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2022\/02\/Lar-11-1-1536x381.png 1536w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2022\/02\/Lar-11-1.png 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Setelah itu, kita setting tampilan untuk User yang sudah Login, kita buat sederhana saja, jadi Nanti ada tulisan Welcome User, lalu tombol untuk <code>Logout<\/code>.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&lt;!doctype html&gt;\n&lt;html lang=&quot;en&quot;&gt;\n\n&lt;head&gt;\n    &lt;!-- Required meta tags --&gt;\n    &lt;meta charset=&quot;utf-8&quot;&gt;\n    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1&quot;&gt;\n\n    &lt;!-- Bootstrap CSS --&gt;\n    &lt;link href=&quot;https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.1.3\/dist\/css\/bootstrap.min.css&quot; rel=&quot;stylesheet&quot;\n        integrity=&quot;sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3&quot; crossorigin=&quot;anonymous&quot;&gt;\n\n    &lt;title&gt;Dashboard&lt;\/title&gt;\n&lt;\/head&gt;\n\n&lt;body&gt;\n    &lt;div class=&quot;container mt-5&quot;&gt;\n        &lt;h1 class=&quot;display-4&quot;&gt;\n            Welcome {{ auth()-&gt;user()-&gt;name }}\n        &lt;\/h1&gt;\n\n        &lt;form action=&quot;\/logout&quot; method=&quot;POST&quot;&gt;\n            @csrf\n            &lt;button class=&quot;btn btn-danger&quot;&gt;Logout&lt;\/button&gt;\n        &lt;\/form&gt;\n    &lt;\/div&gt;\n\n    &lt;script src=&quot;https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.1.3\/dist\/js\/bootstrap.bundle.min.js&quot;\n        integrity=&quot;sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p&quot; crossorigin=&quot;anonymous&quot;&gt;\n    &lt;\/script&gt;\n&lt;\/body&gt;\n\n&lt;\/html&gt;\n<\/pre><\/div>\n\n\n<p>Nah, kalau diperhatikan terdapat syntax <code>{{ auth()-&gt;user()-&gt;name }}<\/code>. Nah syntax ini adalah syntax yang digunakan untuk menampilkan Nama dari User yang Login. Kurang lebih tampilannya akna seperti ini.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"231\" src=\"https:\/\/duniacoding.info\/wp-content\/uploads\/2022\/02\/Lar-11-2-1024x231.png\" alt=\"\" class=\"wp-image-1077\" srcset=\"https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2022\/02\/Lar-11-2-1024x231.png 1024w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2022\/02\/Lar-11-2-300x68.png 300w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2022\/02\/Lar-11-2-768x173.png 768w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2022\/02\/Lar-11-2-1536x346.png 1536w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2022\/02\/Lar-11-2.png 1918w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Nah, dengan ini kita sudah selesai membuat Sistem Login dan Logout pada Laravel.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"kesimpulan\">Kesimpulan<\/h2>\n\n\n\n<p>Nah di artikel ini kita sudah selesai membahas Sistem Login dan Logout pada Laravel. Sistem Login dan Logout pada Laravel ini juga melengkapi Sistem Register yang kemarin sudah kita buat. <\/p>\n\n\n\n<p>Oh iya, kalau mau melihat sistem Register bisa klik disini ya<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li><a href=\"https:\/\/duniacoding.info\/belajar-laravel-register-pada-laravel\/\" target=\"_blank\" rel=\"noopener\">Belajar Laravel 8 #10 : Sistem Register pada Laravel<\/a><\/li><\/ol>\n\n\n\n<p>Sampai disini artikel Login dan Logout pada Laravel ini, semoga bermanfaat bagi kita semua. <\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Setelah diartikel sebelumnya kita belajar tentang sistem Register, sekarang kita akan membaut Sistem Login dan Logout pada Laravel. Sistem ini merupakan lanjutan dari Sistem Register yang kemarin sudah kita selesaikan. Login&#46;&#46;&#46;<\/p>\n","protected":false},"author":2,"featured_media":762,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[93,139,49],"class_list":["post-1055","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorial","tag-laravel","tag-login","tag-tutorial"],"_links":{"self":[{"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/posts\/1055","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/comments?post=1055"}],"version-history":[{"count":7,"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/posts\/1055\/revisions"}],"predecessor-version":[{"id":1081,"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/posts\/1055\/revisions\/1081"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/media\/762"}],"wp:attachment":[{"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/media?parent=1055"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/categories?post=1055"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/tags?post=1055"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}