Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.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# 表单身份验证:确定票证无效的原因_C#_Asp.net Mvc_Forms Authentication_Windows Server 2012 - Fatal编程技术网

C# 表单身份验证:确定票证无效的原因

C# 表单身份验证:确定票证无效的原因,c#,asp.net-mvc,forms-authentication,windows-server-2012,C#,Asp.net Mvc,Forms Authentication,Windows Server 2012,我有一个使用表单身份验证的web应用程序。该应用程序是MVC,并且还有一个用于从我们的移动应用程序请求的部分。客户端的移动应用程序有一段时间未使用,然后返回,现在我在事件视图中看到了以下内容: 活动代码:4005 事件消息:请求的表单身份验证失败。原因:提供的票证无效 我还在IIS中记录cookies,查看ASPXAUTH的外观是否正确,并在第一次请求时输入。然后,在Authorize属性处,它重定向到登录页面并生成该错误消息 我遇到的问题是,我们无法让客户端通过登录移动应用程序重新进行身份验证

我有一个使用表单身份验证的web应用程序。该应用程序是MVC,并且还有一个用于从我们的移动应用程序请求的部分。客户端的移动应用程序有一段时间未使用,然后返回,现在我在事件视图中看到了以下内容:

活动代码:4005 事件消息:请求的表单身份验证失败。原因:提供的票证无效

我还在IIS中记录cookies,查看ASPXAUTH的外观是否正确,并在第一次请求时输入。然后,在Authorize属性处,它重定向到登录页面并生成该错误消息

我遇到的问题是,我们无法让客户端通过登录移动应用程序重新进行身份验证,因为这将导致数据丢失,这在我们的情况下是不可选择的

所以我的问题是,有没有办法确定它为什么无效。例如,过期令牌、无效令牌等?我这么问是因为我已经研究过了,有不同的方法来解决这个问题,这取决于什么原因。如机器关键问题等

其他详情: IIS上的机器密钥:在运行时自动生成,并且由应用程序唯一。为验证和解密输入AutoGenerate、IsolateApps

FormsAuthenticationTicket过期在最初生成时设置为int.MaxValue

它很难复制。我最初有一段时间无法复制这个。昨晚它似乎是随机发生的,所以现在我有一个移动应用程序,它被困在获取无效票证错误的测试中

我看过这篇文章:

感谢您的帮助。 谢谢

IIS上的计算机密钥:在运行时自动生成


这可能就是原因。如果您的机器密钥不是静态的,那么每次回收应用程序池时,它都会重新生成。一旦发生这种情况,它将使您现有的所有登录无效

是的,我通过重新启动iis进行了测试,并注意到它正在使令牌无效。未选中,现在可以工作了。谢谢大家!@jazzmasterkc-你能进一步解释一下吗?Rick这是很久以前的事了,但我相信你可以通过进入IIS->点击你的服务器->在主区域点击“机器键”->取消选中“运行时自动gerate”来实现。这也可以在现场一级进行。