Asp.net mvc MVC 3.0 formsauthentication在本地主机服务器上进行身份验证,但不在Web主机上进行身份验证

Asp.net mvc MVC 3.0 formsauthentication在本地主机服务器上进行身份验证,但不在Web主机上进行身份验证,asp.net-mvc,asp.net-mvc-3,forms-authentication,Asp.net Mvc,Asp.net Mvc 3,Forms Authentication,所以我遇到了一些类似的问题: ttp://stackoverflow.com/questions/3694475/asp-net-forms-authentication-authenticates-in-localhost-server-but-not-on-the-w 但是我使用的是MVC3.0而不是web表单。基本上,我会登录,点击几秒钟后,它会再次将我重定向到登录页面。这发生在我将网站发布到我的Web主机上之后,但在我的本地主机上,它工作得很好。起初我以为这是因为web.config上的

所以我遇到了一些类似的问题:

ttp://stackoverflow.com/questions/3694475/asp-net-forms-authentication-authenticates-in-localhost-server-but-not-on-the-w

但是我使用的是MVC3.0而不是web表单。基本上,我会登录,点击几秒钟后,它会再次将我重定向到登录页面。这发生在我将网站发布到我的Web主机上之后,但在我的本地主机上,它工作得很好。起初我以为这是因为web.config上的超时,但它仍然有默认的2880。所以我把它划掉了

以前有人遇到过这样的问题吗

编辑:

看到了一些关于为应用程序生成机器密钥以防止应用程序池回收的建议。我想知道我怎样才能做到?我认为我无法从我的网络主机(arvixe)访问iis


所以我找到了答案,它停止了我的登录。。至少现在是这样

显然,需要一个机器密钥,以便应用程序知道cookie是否将使用相同的身份验证。我刚刚生成了一个机器密钥并将其放在我的网络配置上

例如:


所以,是的,成功了,我希望它保持这样


谢谢大家的回复

您是否在webhost上启用了任何诊断(elmah?)?您是否使用ASP.NET会话来存储某些用户信息?如果您使用cookie,则可能是您在web配置中存储它的位置导致了问题。请发布您的表单auth-config-infohey伙计们,我对.net有点陌生,所以如果我问一些基本的愚蠢问题,请原谅让我开始吧-亚历克斯:我想我没有,我如何启用一个?我使用cookie-darin,您只需执行FormsAuthentication.SetAuthCookie()@sparkle如何获取表单身份验证配置信息?我创建它的方式是FormsAuthentication.SetAuthCookie(userId.Tostring(),false)。谢谢大家的回复!打开web.config文件并查找
<configuration>
    <system.web>
        <machineKey decryption="AES" decryptionKey="C03B1AB0BC1ACCD18EA915CBD87373010AD0DEC430A69871,IsolateApps" validation="AES" validationKey="C0ED7C430148AD4BC6505085DA4FD0DD3EE2453B566FC4EA4C7B3C2DCAB2025A79C774370CA884DF909CE9A3D379E544B7890D0A1CEE164141D3A966999DC625,IsolateApps" />
    </system.web>
</configuration>