MVC4:User.IsInRole无法正常工作

时间:2013-10-17 13:55:44

标签: asp.net-mvc asp.net-mvc-4 session simplemembership asp.net-roles

我正在使用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>

UPDATE:

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

1 个答案:

答案 0 :(得分:0)

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

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