Rails应用开发:权限控制、侧边栏添加与数据格式生成
1. 限制管理页面访问
在开发过程中,我们需要防止未登录的用户访问管理页面。可以利用Rails的过滤器功能来实现这一需求。Rails过滤器能在动作方法调用前后添加自定义处理逻辑。在这个场景中,我们使用前置过滤器拦截对管理控制器中所有动作的调用。
1.1 权限验证方法
在 ApplicationController (所有控制器的父类)中添加 authorize 方法,该方法会检查 session[:user_id] 是否存在且对应数据库中的用户。若存在,则允许访问;若不存在,则重定向到登录页面。
# app/controllers/application.rb
class ApplicationController < ActionController::Base
before_filter :authorize, :except => :login
helper :all
protect_from_forgery :secret => '8fc080370e56e929a2d5afca5540a0f7'
protected
def authorize
unless User.find_by_id(session[:user_id])
flash[:notice] = "Please log in"
redirect_to :controller => 'admin', :act
超级会员免费看
订阅专栏 解锁全文
41

被折叠的 条评论
为什么被折叠?



