【发布时间】:2011-07-23 01:43:47
【问题描述】:
我在 RoR 3 上编写了 RESTful API。 我必须让我的应用程序不发送“Set-Cookie 标头”(客户端正在使用 auth_token 参数进行授权)。
我曾尝试使用session :off 和reset_session,但这没有任何意义。
我使用devise 作为身份验证框架。
这是我的应用程序控制器
class ApplicationController < ActionController::Base
before_filter :reset_session #, :unless => :session_required?
session :off #, :unless => :session_required?
skip_before_filter :verify_authenticity_token
before_filter :access_control_headers!
def options
render :text => ""
end
private
def access_control_headers!
response.headers["Access-Control-Allow-Origin"] = "*"
response.headers["Access-Control-Allow-Methods"] = "GET, POST, PUT, DELETE, OPTIONS"
response.headers["Access-Control-Allow-Credentials"] = "true"
response.headers["Access-Control-Allow-Headers"] = "Content-type"
end
def session_required?
!(params[:format] == 'xml' or params[:format] == 'json')
end
end
【问题讨论】:
-
我同样想阻止会话创建,但将我的会话存储在数据库中,这样抑制 cookie 就不会减少它。我的解决方案是告诉 Rack 放弃会话:stackoverflow.com/questions/33318060/…
标签: ruby-on-rails ruby ruby-on-rails-3 session cookies