【问题标题】:HowTo use Session in ASP.NET with custom session key parameter如何在 ASP.NET 中使用带有自定义会话密钥参数的会话
【发布时间】:2012-10-27 18:31:10
【问题描述】:

是否可以将 ASP.NET 会话状态与 URL 类似

http://myserver/somesite?sessionKey=thekey

问题是,我必须为客户端软件编写一个站点,该软件通过像

这样的请求对用户进行身份验证
http://myserver/somesite?user=xyz&passwd=xyz

如果身份验证成功,客户端期望得到一个会话密钥作为结果。 然后,此会话密钥将用作查询中的变量,如上所示。客户端不支持cookies。

如何使用 ASP.NET MVC 4 实现此行为?

P.S.:我知道这绝对不是要走的路,但我无法改变客户。

【问题讨论】:

  • 相信我,您不希望将您的名字附加到如此不安全的代码上。作为开发人员,您有责任保护人们的帐户信息,尤其是当您考虑到多个网站经常使用相同的凭据时。
  • URL 中的会话密钥正常。密码真的很奇怪。

标签: asp.net-mvc session authentication session-variables


【解决方案1】:

如果我理解正确的话,你可以试试看,对吧?

(我们已经遇到过,搜索引擎很痛苦)

<sessionState mode="InProc" timeout="5" cookieless="true" />

我可以说它正在工作 而不是生成的url

“http://server/Product/en-GB/MyEntity”

现在是:

"http://server/Product/(S(rxavnpuw05o3fmy3tjnuystr))/en-GB/MyEntity"

【讨论】:

  • 是的,但客户端仍会尝试访问“http://server/Product/en-GB/MyEntity?sessionKey=(S(rxavnpuw05o3fmy3tjnuystr))”
  • 生成 URL 的样式不受我们控制。它是在任何 MVC 东西到位之前完成的。这是 ASP.NET 无 cookie 会话处理。因此,ASP.NET 会话将始终预设为 URL 路由,并在 MVC 开始工作之前进行评估
  • 这是我试图解决的问题。因为客户端希望每次查询除了查询变量之外的同一个地址。
  • 我玩了这么多......这是不可能的!好的,据我所知。我们也需要更改它,因为 google 将 url 与会话 cookie 一起存储。但我们没有成功。但是,仍然只是我的个人经历
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-02-14
  • 2011-09-20
  • 1970-01-01
  • 2021-09-02
  • 2018-05-29
  • 2017-03-04
  • 2016-11-15
相关资源
最近更新 更多