我使用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. Laravel 5注销或会话销毁
- 2. Facebook的连接 - 注销+销毁会话
- 3. 注销时未销毁会话
- 4. 会话销毁/注销奇数问题
- 5. 销毁会话,同时注销
- 6. Cakephp 3 - Auth会话无法销毁
- 7. 销毁会话
- 8. 销毁会话
- 9. 销毁$ _SERVER会话?
- 10. 销毁Nuance会话
- 11. PHP会话销毁
- 12. 销毁会话PHP
- 13. 有注销问题,当我点击注销按钮它不会销毁会话
- 14. Sinatra会话自动销毁
- 15. 注销不会在FOSUserBundle中正确销毁/清除会话
- 16. 麻烦注销Facebook连接网站和销毁会话
- 17. 销毁会议变量注销
- 18. 弹簧 - 防止销毁自动注销会话
- 19. 注销/销毁会话时出现的问题
- 20. PHP会话在注销按钮上销毁
- 21. 会话自动销毁笨
- 22. 会话销毁错误
- 23. 我无法销毁会话
- 24. 关闭销毁PHP会话
- 25. 销毁会话,Rails设计
- 26. JMeter无法销毁会话
- 27. 在JSP中销毁会话
- 28. 真正销毁PHP会话?
- 29. 销毁servlet中的会话
- 30. 无法销毁会话