5
我看着Sinatra文檔,他們似乎只參考HTTP身份驗證。我正在尋找一種非常簡單的方法來基於用戶通過LDAP服務器授權/驗證來控制對路由的訪問。我該如何做一個非常簡單的Sinatra LDAP認證?
我已經建立了一個類,做的LDAP位,如果該用戶成功驗證且無返回LDAP對象,如果他們沒有:
>>DirectoryUser.authenticate('user', 'password')
#<DirectoryUser:0x007ffb589a2328>
我可以用它來確定它們是否已成功驗證或不驗證。
作爲下一步我想拼接成一個簡單的末日應用程序,提供了一個表格來收集LDAP用戶名和密碼這樣的:
require 'directoryUser'
require 'sinatra'
enable :sessions
get '/form' do
username = params[:username]
password = params[:password]
haml :form
end
然後我想只允許如果「DirectoryUser」對象路線存在:
get '/protected' do # Only if DirectoryUser object exists
"This route is protected"
end
get '/unprotected' do
"This route is unprotected"
end
我花了幾個小時試圖找到這個答案,但到目前爲止,似乎無法找到任何適合我的東西。
棒極了! - 我現在就試試,讓你知道它是怎麼回事。感謝您的迴應。 – user1513388 2013-04-05 11:06:33
這工作完美 - 感謝您的幫助! – user1513388 2013-04-05 16:52:17