【问题标题】:no test for session key if sent by application如果由应用程序发送,则不测试会话密钥
【发布时间】:2010-01-12 22:43:43
【问题描述】:

我正在编写一个使用 Rails 作为服务器的非浏览器应用程序。 据我了解,我需要将收到的会话密钥添加到任何后续请求中。

如果通过浏览器登录,确实会检查,因为在会话期间删除 cookie 将导致之后任何请求 senf 的会话测试失败。

但是,在我的应用程序中,我可以在登录后发送任何请求,不包括会话 cookie,它将通过会话测试并执行。

我可以指出我禁用了protect_from_forgery,但这应该只适用于authentity_token 检查,不是吗?

任何帮助将不胜感激。 谢谢。

【问题讨论】:

  • 我们可能需要一些与您的“会话测试”以及您如何处理登录相关的代码 sn-ps。

标签: ruby-on-rails session cookies


【解决方案1】:

如果这是一个非浏览器应用程序,则没有真正的理由使用 cookie(或会话)。只需使用basic authentication 进行身份验证,方法是将每个请求的凭据作为 HTTP 标头的一部分发送。基本身份验证凭据可以是传统的,例如用户名和密码,也可以是更适合您需求的东西,例如 api_key 或令牌。

【讨论】:

  • 感谢瑞恩的回答。如果可能的话,我想坚持标准会话管理,因为我想为兄弟和应用程序使用相同的服务器代码,另外,我接下来想为登录请求做一些 SSL 加密,并想对于每个后续请求,请避免这种情况。如果您有更深入的了解,它可以提供很大帮助。
猜你喜欢
  • 2012-12-12
  • 1970-01-01
  • 2018-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-12
  • 2017-09-20
相关资源
最近更新 更多