我使用Rack :: Auth :: Basic进行了授权,但它能正常工作,但我需要能够销毁用户会话并让他重新登录或注销。如何制作?Rack :: Auth :: Basic销毁会话(注销)
2
A
回答
1
没有会话与HTTP基本认证相关联,如果您想将认证与必须在应用程序级别进行的会话相关联,听起来就像Rack中间件一样困难。
1
你好对不起已故的回应,我刚才看到你的帖子,也许它仍然可以帮助你: 此代码从太阳石应用程序,它是OpenNebula http://opennebula.org/
use Rack::Session::Pool
def authorized?
session[:ip] && session[:ip]==request.ip ? true : false
end
def build_session
auth = Rack::Auth::Basic::Request.new(request.env)
if auth.provided? && auth.basic? && auth.credentials
user = auth.credentials[0]
sha1_pass = Digest::SHA1.hexdigest(auth.credentials[1])
rc = SunstoneServer.authorize(user, sha1_pass)
if rc[1]
session[:user] = user
session[:user_id] = rc[1]
session[:password] = sha1_pass
session[:ip] = request.ip
session[:remember] = params[:remember]
if params[:remember]
env['rack.session.options'][:expire_after] = 30*60*60*24
end
return [204, ""]
else
return [rc.first, ""]
end
end
return [401, ""]
end
def destroy_session
session.clear
return [204, ""]
end
的一部分被拿
相关问题
- 1. 会话销毁/注销奇数问题
- 2. Facebook的连接 - 注销+销毁会话
- 3. 销毁会话,同时注销
- 4. Cakephp 3 - Auth会话无法销毁
- 5. 销毁Nuance会话
- 6. 销毁$ _SERVER会话?
- 7. PHP会话销毁
- 8. 麻烦注销Facebook连接网站和销毁会话
- 9. 销毁会议变量注销
- 10. 弹簧 - 防止销毁自动注销会话
- 11. 销毁servlet中的会话
- 12. Datasnap:会话销毁事件
- 13. 关闭销毁PHP会话
- 14. 真正销毁PHP会话?
- 15. 在codeigniter中销毁会话
- 16. JMeter无法销毁会话
- 17. swfupload销毁会话? php
- 18. 流失注销旧会话注销
- 19. swfupload会话问题销毁会话
- 20. Facebook注销会话
- 21. 注销citrix会话
- 22. 销毁对话框
- 23. 销毁会话但保留Flashdata
- 24. Django/Auth:注销会清除会话数据?
- 25. 只要模型销毁链接被点击,Rails会话就会被销毁
- 26. 安全注销PHP会话
- 27. 注销特定会话ID
- 28. 会话注销在asp.net
- 29. 解决JSP会话注销
- 30. 注销时保存会话