【发布时间】:2017-08-09 17:57:07
【问题描述】:
我正在尝试通过 Sinatra_warden 模块对我的 Sinatra Web 应用程序使用身份验证,但是当我指向授权站点时,它会显示:
NoMethodError 在 /admin 未定义的方法 `authenticated?'对于 nil:NilClass
这是我的 app.rb 文件:
require 'sinatra'
require 'sinatra_warden'
class App < Sinatra::Base
register Sinatra::Warden
enable :sessions
get '/' do
erb :index
end
get '/admin' do
authorize!('/login')
erb :admin
end
get '/dashboard' do
authorize!
erb :dashboard
end
end
这是我的 model.rb 文件,以防万一:
require 'rubygems'
require 'data_mapper'
require 'dm-sqlite-adapter'
require 'bcrypt'
DataMapper.setup(:default, "sqlite:test.db")
class User
include DataMapper::Resource
property :id, Serial, :key => true
property :username, String, :length => 3..50
property :password, BCryptHash
end
DataMapper.finalize
DataMapper.auto_upgrade!
可能是什么问题?
【问题讨论】:
标签: ruby web-applications sinatra rack warden