ユーザーが特定のページ/コントローラーへのアクセスを許可されているかどうかを判断するために、グローバル フィルターを使用しています。単純なセッション変数の作成を行うことができないため、これについて多くのトレッドを取得できませんでした。これが私の簡略化されたコードです:
public class MyActionFilterAttribute : ActionFilterAttribute
{
public override void OnActionExecuted(ActionExecutedContext context)
{
context.HttpContext.Session.Add("asdfasdf", 1234);
//Check if user is authorized in db
//...
base.OnActionExecuted(context);
}
}
エラー:
System.Web.HttpException: Failed to login to session state SQL server for user '<USERNAME>'.
コメントアウトするSession.Add
と、アプリケーションは正常に動作します。与えられたエラーはまったく関係がないので奇妙です(私は思う)。この場合、セッション変数を機能させるにはどうすればよいですか? より良い質問ですが、これはユーザー認証の正しい方法ですか?