3

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>

アップデート:

プロジェクトを再構築すると、それが起こることに気付きました。

4

1 に答える 1

0

Cookie を失う可能性があります。追加してみてください: <forms loginUrl="~/Account/Login" cookieless="UseCookies" timeout="2880" />

これにより、MVC アプリのかなりの数の問題が解決されました。

于 2013-10-18T19:18:47.223 に答える