我正在使用ASP.NET MVC SimpleMemberShip Provider,
登录后一段时间没有任何问题。我检查用户是否是Boss,这是有效的。
if (User.IsInRole("Boss")) {
//do something
}
但是在刷新页面几分钟后,User.IsInRole("Boss")
总是返回false。
我调试并检查用户是否仍然登录,是的,用户仍在那里,没有任何改变,但IsInRole一直返回false。
当我退出并再次登录时,它开始工作。
我认为问题是关于Sessions
,但我找不到任何解决方案。
这就是我在Web.config
<authentication mode="Forms">
<forms loginUrl="~/Account/Login" timeout="2880" />
</authentication>
我意识到当我重建我的项目时会发生这种情况。
答案 0 :(得分:0)
你可能会丢失你的cookie。尝试添加:
<forms loginUrl="~/Account/Login" cookieless="UseCookies" timeout="2880" />
这解决了我们的MVC应用程序中的一些问题。