Asp.net 请求的表单身份验证失败
我有一个使用无cookieless表单身份验证的web应用程序。每天我的事件日志都有大量4005个错误代码(请求的表单身份验证失败)。我相信这是因为用户在登录时正在为页面添加书签,所以当他们重新访问url中的表单时,票证已过期,至少这是我在测试中可以触发的唯一场景Asp.net 请求的表单身份验证失败,asp.net,webforms,forms-authentication,Asp.net,Webforms,Forms Authentication,我有一个使用无cookieless表单身份验证的web应用程序。每天我的事件日志都有大量4005个错误代码(请求的表单身份验证失败)。我相信这是因为用户在登录时正在为页面添加书签,所以当他们重新访问url中的表单时,票证已过期,至少这是我在测试中可以触发的唯一场景 我的问题是,是否可以禁用此4005代码的日志记录?它填充了我的事件日志并不是对你问题的回答,我甚至不熟悉ASP。但是,如果就像例如PHPSESSID和jsessionid一样,这个“url中的表单票证”实际上是一个会话id,它也被添加
我的问题是,是否可以禁用此4005代码的日志记录?它填充了我的事件日志并不是对你问题的回答,我甚至不熟悉ASP。但是,如果就像例如PHPSESSID和jsessionid一样,这个“url中的表单票证”实际上是一个会话id,它也被添加到匿名访问者的url中,那么搜索引擎可能也会导致这个错误?如果是这样的话:这不会破坏你的搜索分数吗?你可以处理错误,这样它就不会出现在日志中
'in global.asax
Sub Application_Error(ByVal sender As Object, ByVal e As EventArgs)
' Code that runs when an unhandled error occurs
Dim lastError As Exception = Server.GetLastError()
' Must be a better way, just can remember how, you will get the idea.
If lastError.Message.Contains("Forms authentication failed for the request") Then
'do nothing
Server.ClearError()
End If
End Sub
如果你能使用Cookie,这是一个比无Cookie模式好得多的解决方案,因为你的用户可以使用书签,这是他们一定希望能够做到的,而且你的错误日志不会被错误填满。它也不太容易被会话劫持。否,因为搜索引擎从不登录(与PHPSESSID和jsessionid不同),此“url中的表单票证”仅用于已登录的访问者,而不用于匿名用户?如果它也用于匿名用户,那么搜索引擎也会看到这样的URL(尽管他们可能足够聪明,可以将其从URL中删除)。附带说明:Safari4将对网页进行快照预览,并不时更新。这可能会产生同样的结果。