2008-10-05 135 views
1

按照自述文件集成了merb_auth_password_slice後,我可以成功登錄,因爲redirect_after_login正在觸發,但session.authenticated?返回false。merb_auth_password_slice不會維護會話

只是嘗試現在的基本身份驗證策略(密碼錶單),似乎無法得到它的工作,任何想法?

我的init文件:

require 'dm-validations' 

dependencies "merb-more", "merb_helpers", "merb-slices", "merb_auth_password_slice" 


Merb::BootLoader.before_app_loads do 
    DataMapper.setup(:default, "sqlite3://config/dev.db") 
end 

Merb::BootLoader.after_app_loads do 
    # have already done this 
    # raise "You must specify a valid openid in Merb.root/config/open_id to use this example app" unless File.exists?(Merb.root/"config"/"open_id") 
    # # DataMapper.auto_migrate! 
    # User.create(:login => "admin", 
    #    :password => "password", :password_confirmation => "password", 
    #    :email => "[email protected]", 
    #    :identity_url => File.read(Merb.root/"config"/"open_id")) 
end 

Merb::Config.use do |c| 
    c[:session_secret_key] = 'my key' 
    c[:session_store] = 'cookie' 
end 

的setup.rb

class Authentication 

    def store_user(user) 
    return nil unless user 
    user.id 
    end 

    def fetch_user(session_info) 
    User.get(session_info) 
    end 

end # Authentication 

回答

1
# before(nil, :only => [:update, :destroy]) { session.abandon! } 

這是切片的會話控制器的罪魁禍首