3

我正在使用 ASP.NET MVC SimpleMemberShip 提供程序,

我登录后一段时间没有任何问题。我检查用户是否是老板,这正在工作。

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>

更新:

我意识到当我重建我的项目时会发生这种情况。

4

1 回答 1

0

你可能会丢失你的饼干。尝试添加: <forms loginUrl="~/Account/Login" cookieless="UseCookies" timeout="2880" />

这解决了我们的 MVC 应用程序中的很多问题。

于 2013-10-18T19:18:47.223 回答