Rails 小白求咨询在 Rails 开发中关于 cookie 和 session 的使用问题

bigmore · 2016年02月27日 · 最后由 tumayun 回复于 2016年03月03日 · 1683 次阅读

最近才接触 Rails 现在在写 API 接口关闭了自带的 token 然后手动添加 token 来验证,现在需要用相同的后台实现 WEB 后台管理功能,如何又将 rails 自带的 token 恢复验证回来,求大神指点下。

rails 自带的 token 恢复验证

你指的是CSRF? 当初怎么去掉,反着操作不就可以加回来了么?

关键词 protect_from_forget, skip_before_filter :verify_authenticity_token

3 楼 已删除

#1 楼 @ericguo 我是想将管理后台和 API 写在一起,现在为了实现 API 我把 cookie 关了,然后又希望能在实现后台管理功能的时候加上去,能提供下思路么

为什么不把管理后台和 API 分开来?

#5 楼 @ken 这样有可能会出现操作同一对象的冲突,可以避免么?

@bigmore 加一个 middleware,当是 API 请求时才去掉 Cookie

class CookieFilter
  def initialize(app)
    @app = app
  end

  def call(env)
    if env['SERVER_NAME'].start_with?("#{ENV['API_SUBDOMAIN']}.")
      env['HTTP_COOKIE'] = nil
    end

    @app.call(env)
  end
end
需要 登录 后方可回复, 如果你还没有账号请 注册新账号