# Autentikasi & Otorisasi (Ruby on Rails) > Devise (sesi web), has_secure_password, cookies, JWT (autentikasi API), Pundit, CanCanCan - 22 pertanyaan wawancara - Mid-Level - [Pertanyaan Wawancara: Ruby on Rails](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara.md) ## 1. Apa itu Devise dalam ekosistem Rails? **Jawaban** Devise adalah gem autentikasi yang fleksibel dan lengkap untuk Rails, dibangun di atas Warden. Ia menyediakan modul yang telah dikonfigurasi sebelumnya untuk menangani registrasi, login, pemulihan kata sandi, konfirmasi email, penguncian akun, dan lainnya. Devise adalah solusi autentikasi paling populer dalam ekosistem Rails berkat kemudahan integrasi dan modularitasnya. ## 2. Apa saja modul Devise yang paling umum digunakan dalam aplikasi Rails standar? **Jawaban** Devise menawarkan arsitektur modular di mana setiap fitur adalah modul yang dapat dipisahkan. Modul yang paling umum adalah database_authenticatable (autentikasi kata sandi), registerable (registrasi), recoverable (pemulihan kata sandi), rememberable (cookie 'ingat saya'), validatable (validasi email dan kata sandi), confirmable (konfirmasi email), dan lockable (penguncian setelah kegagalan). ## 3. Bagaimana cara melindungi sebuah aksi controller agar hanya dapat diakses oleh pengguna yang login dengan Devise? **Jawaban** Devise menyediakan helper authenticate_user! yang dapat digunakan sebagai before_action di controller. Filter ini memeriksa apakah pengguna telah login dan mengalihkan ke halaman login jika tidak. Filter ini dapat diterapkan ke semua aksi atau dibatasi dengan only atau except. Nama helper bergantung pada model (authenticate_admin! untuk model Admin). ## 19 pertanyaan lagi tersedia - Helper Devise mana yang memungkinkan akses ke pengguna yang sedang login di view atau controller? - Bagaimana cara menyesuaikan view Devise (formulir login, registrasi, dll.) dalam aplikasi Rails? Daftar gratis: https://sharpskill.dev/id/login ## Topik wawancara Ruby on Rails lainnya - [Dasar-Dasar Ruby](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/ruby-basics.md): 25 pertanyaan, Junior - [Pemrograman Berorientasi Objek di Ruby](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/ruby-oop.md): 20 pertanyaan, Junior - [Dasar-Dasar Rails](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/rails-fundamentals.md): 18 pertanyaan, Junior - [Routing & Controllers](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/routing-controllers.md): 22 pertanyaan, Junior - [Dasar-Dasar ActiveRecord](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/active-record-basics.md): 25 pertanyaan, Junior - [Views & Template ERB](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/views-erb-templates.md): 20 pertanyaan, Junior - [Asosiasi ActiveRecord](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/active-record-associations.md): 24 pertanyaan, Mid-Level - [Kueri ActiveRecord Lanjutan](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/active-record-queries.md): 28 pertanyaan, Mid-Level - [Formulir Rails](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/rails-forms.md): 20 pertanyaan, Mid-Level - [Asset Pipeline modern & frontend](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/rails-asset-pipeline.md): 18 pertanyaan, Mid-Level - [Mode API Rails](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/rails-api-mode.md): 20 pertanyaan, Mid-Level - [Pengujian dengan RSpec](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/rails-testing-rspec.md): 24 pertanyaan, Mid-Level - [ActiveJob & Background Jobs](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/active-job-background-jobs.md): 20 pertanyaan, Mid-Level - [ActionCable & WebSockets](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/action-cable-websockets.md): 18 pertanyaan, Mid-Level - [ActionMailer](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/action-mailer.md): 18 pertanyaan, Mid-Level - [ActiveStorage](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/active-storage.md): 20 pertanyaan, Mid-Level - [Strategi Caching](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/caching-strategies.md): 20 pertanyaan, Mid-Level - [Migrasi tingkat lanjut](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/database-migrations-advanced.md): 20 pertanyaan, Mid-Level - [Rails Engines & Aplikasi Modular](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/rails-engines-modular-apps.md): 18 pertanyaan, Senior - [Optimasi Performa](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/performance-optimization.md): 26 pertanyaan, Senior - [Design Pattern Rails](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/rails-design-patterns.md): 22 pertanyaan, Senior - [Metaprogramming Ruby](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/ruby-metaprogramming.md): 20 pertanyaan, Senior - [Keamanan Rails](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/rails-security.md): 22 pertanyaan, Senior - [GraphQL dengan Rails](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/graphql-rails.md): 20 pertanyaan, Senior - [Deployment & Produksi](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/rails-deployment-production.md): 20 pertanyaan, Senior - [Monitoring & Logging](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/monitoring-logging.md): 20 pertanyaan, Senior - [Strategi Upgrade Rails](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/rails-upgrade-strategies.md): 18 pertanyaan, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/authentication-authorization