0

客户端通过非 Web 应用程序打开网站,从而通过查询字符串提供 ID 和唯一的安全代码。所以 url 看起来像这样:.../Default.aspx?uI=21&sc=b2r#67!kl

对于不同的客户,网站有不同的内容。用户不超过 10 个(考虑到 1 个客户是 1 个拥有许多员工(用户)的公司,并且对于 1 个公司的所有用户,安全码是相同的)。因此,来自同一家公司的 10 个用户将有不同的 ID ( uI) 但相同的安全代码 ( sc) 等不同公司的用户。

那么使用 Sessions 是否有意义,或者仅使用查询字符串值来区分用户就足够了?为什么/为什么不?

欢迎提出任何其他更好的实施方式的建议。

4

3 回答 3

1

我同意让 URL 保存诸如 UserID 和安全代码之类的信息不是一个好主意。

也许您可以创建一个“登录页面”,您仍然可以在查询字符串中传递此信息,在该页面上设置 2 个会话变量,一个用于 UserID,另一个用于安全代码。重定向到没有查询字符串的默认页面。然后,您可以随时通过会话检查变量,而无需显示查询字符串。只是一个想法。

于 2013-08-26T13:02:57.247 回答
0

IMO,使用 QueryString 用户可以使用位置栏和更改 SC 或 UI 来操纵结果输出。从一个页面导航到另一个页面时,这可能会产生不希望的输出。

于 2013-08-26T12:52:03.060 回答
0

在我看来,如果您尝试为用户传递一个唯一标识符,您可能希望查看在 URL 中传递一个安全令牌,也许是一个 GUID,它是用户/安全代码的唯一组合。然后在后端验证此令牌,然后使用 ASP.NET Membership 来处理存储用户的凭据。

有关会员资格的更多信息,请参见下文:

http://msdn.microsoft.com/en-us/library/yh26yfzy.aspx

于 2013-08-26T12:55:38.273 回答