Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 在这种特殊情况下使用会话有意义吗?_Asp.net_Session_Query String_Session State - Fatal编程技术网

Asp.net 在这种特殊情况下使用会话有意义吗?

Asp.net 在这种特殊情况下使用会话有意义吗?,asp.net,session,query-string,session-state,Asp.net,Session,Query String,Session State,客户端通过非web应用程序打开网站,从而通过查询字符串提供ID和唯一的安全代码。所以url看起来像这样:../Default.aspx?uI=21&sc=b2r#67!吉隆坡 对于不同的客户,网站有不同的内容。用户不超过10个(考虑到一个客户是一个有许多员工(用户)的公司,并且对于一个公司的所有用户,安全代码是相同的)。因此,来自同一公司的10名用户将拥有不同的ID(uI),但不同公司的安全代码相同(sc),依此类推 那么,使用会话是否有意义,或者只使用查询字符串值就足以区分用户了?为什么 欢迎

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

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

那么,使用会话是否有意义,或者只使用查询字符串值就足以区分用户了?为什么


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

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

在我看来,如果您试图为用户传入唯一标识符,您可能希望在URL中传入一个安全令牌,可能是一个GUID,它是用户/安全代码的唯一组合。然后在后端验证此令牌,然后使用ASP.NET成员身份来处理存储用户凭据的操作

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


我同意让URL保存用户ID和安全代码等信息不是一个好主意

也许您可以创建一个“登录页”,在那里您仍然以查询字符串的形式传递此信息,在该页上设置两个会话变量,一个用于UserID,另一个用于安全代码。重定向到没有查询字符串的默认页面。然后,在任何需要检查变量的时候,都可以通过会话进行检查,而不必显示查询字符串。只是一个想法