Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.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
C# authCookie并重新登录用户_C#_Asp.net_Cookies_Session Timeout - Fatal编程技术网

C# authCookie并重新登录用户

C# authCookie并重新登录用户,c#,asp.net,cookies,session-timeout,C#,Asp.net,Cookies,Session Timeout,情景: 我有一个棘手的情况,需要让许多模块满意[谷歌分析,等等…]。在项目中获取了一个asp.net页面,该页面在单击“处理”按钮后在第三方网站上启动请求,并将用户重定向到第三方网站。交易在他们的网站上处理,然后控制返回到我们网站上的当前页面。你也可以将这种情况与Paypal处理联系起来,但这不是Paypal 问题: 如果会话超时,我希望在第三方网站完成处理后,当控件到达我们的网站时,再次对用户进行身份验证。因此,我正在考虑将authCookie信息传递给第三方网站,然后当控件返回到我们的网站时

情景: 我有一个棘手的情况,需要让许多模块满意[谷歌分析,等等…]。在项目中获取了一个asp.net页面,该页面在单击“处理”按钮后在第三方网站上启动请求,并将用户重定向到第三方网站。交易在他们的网站上处理,然后控制返回到我们网站上的当前页面。你也可以将这种情况与Paypal处理联系起来,但这不是Paypal

问题:
如果会话超时,我希望在第三方网站完成处理后,当控件到达我们的网站时,再次对用户进行身份验证。因此,我正在考虑将authCookie信息传递给第三方网站,然后当控件返回到我们的网站时,我将让authCookie信息想象这是一个场景,然后希望用户重新登录。我可以根据用户名再次创建authCookie吗?

这取决于您使用的事务处理系统。如果您通过调用其API检查交易结果,则响应通常具有用户id或可以与用户id关联的内容。您可以将用户名存储在cookie中,cookie是按域或子域进行的,如果它位于与您不同的域中,则不会发送到交易处理网站,很可能是这样。从事务结果响应中获取或派生用户名,并将其与从cookie中获取的用户名进行比较。如果匹配,请登录用户。仅仅基于cookie内容登录用户在许多方面都有风险。首先,任何人都可以将包含任何名称的cookie设置为浏览器。第二,如果您只是基于cookie登录一个用户,那么基本上您将获得永不过期的会话。这不是你想要的。为了增加安全性,您可以从事务结果响应中检查事务时间,如果时间太长,则拒绝登录


哦,在你的问题中,你提到你需要让许多模块保持快乐,但你没有扩展到你的意思。所以我只是忽略了这一点。不确定快乐模块是什么样子=

这不是个好主意,我不会到处传递这种信息。。。如果你是偏执狂,设置一个很长的时间,这很有趣,因为你不能说用户是非活动的,因为他仍然在你的应用程序的引擎盖下玩。但我有点同意埃里克的观点。如果用户不在你的网站上,最好让他们通过官方登录页面,而不是自动验证。若这不适合业务场景,那个么就设置一个长超时。