使用Rails 4,我在让Authlogic看到我伪造的UserSession时遇到问题.
我已经设置了#whoami页面来呈现当前用户的电子邮件地址,这是一个简单的测试.
class PagesController < ApplicationController
# before_filter :require_user
def whoami
render :text => current_user.try(:email) || 'anonymous'
end
end
Run Code Online (Sandbox Code Playgroud)
在spec/spec_helper.rb中:
require "authlogic/test_case"
include Authlogic::TestCase
Run Code Online (Sandbox Code Playgroud)
和我的rspec测试:
require 'spec_helper'
describe '/whoami' do
setup :activate_authlogic
it "should tell me who I am" do
user = FactoryGirl.create(:user)
user.should be_valid
session = UserSession.create(user)
session.should be_valid
get '/whoami'
response.body.should == user.email
end
end
Run Code Online (Sandbox Code Playgroud)
我更新了我的应用程序控制器以显示当前会话:
def require_user
unless current_user
raise "Current User Session is: #{ current_user_session.inspect}"
store_location
flash[:notice] = "You must be logged in to access …Run Code Online (Sandbox Code Playgroud)