Devise 是一个用于 Ruby on Rails 的灵活认证解决方案。它提供了许多内置功能来处理用户认证,包括已验证和未验证用户的路由管理。以下是如何在 Devise 中设置已验证和未验证用户的路由的详细说明。
已验证用户是指已经通过认证的用户。对于这些用户,你通常希望提供完整的访问权限。以下是一些常见的已验证用户路由设置:
未验证用户是指尚未通过认证的用户。对于这些用户,你通常希望限制他们的访问权限,并将他们重定向到登录页面或注册页面。以下是一些常见的未验证用户路由设置:
以下是一个完整的 config/routes.rb
文件示例,展示了如何设置已验证和未验证用户的路由:
Rails.application.routes.draw do
# 已验证用户路由
authenticated :user do
root "dashboard#index", as: :authenticated_root
namespace :user do
resources :orders
get 'profile', to: 'profiles#show'
end
end
# 未验证用户路由
unauthenticated do
root "sessions#new", as: :unauthenticated_root
end
# Devise 默认路由
devise_for :users, controllers: {
sessions: 'users/sessions',
registrations: 'users/registrations',
passwords: 'users/passwords'
}
end
SessionsController
或 RegistrationsController
),请确保在 devise_for
中指定正确的控制器路径。通过以上设置,你可以有效地管理 Devise 中已验证和未验证用户的路由,提供更好的用户体验和应用安全性。
领取专属 10元无门槛券
手把手带您无忧上云