ASP.NET MVC SimpleMemberShip プロバイダーを使用しています。
ログイン後、しばらくは問題ありません。ユーザーが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>
アップデート:
プロジェクトを再構築すると、それが起こることに気付きました。