私はasp.net mvc5プロジェクトに取り組んでいます。私の問題はユーザーのログインを強制しています。 セッションを使用してユーザーのログインをチェックしていますか(私はIDまたは認証を使用していません)。ここ は私のログインコードです:アプリケーションのどこに行く前にユーザーのログインを強制することができますか?
[HttpPost]
public ActionResult Login(User user)
{
if (IsValid(user.username, user.password))
{
Session["username"] = user.username;
return RedirectToAction("Index", "Home");
}
else
{
ModelState.AddModelError("", "Login details are wrong.");
}
return View(user);
}
私は、ユーザーのログインを確認するかどうかのセッションではなく、私は、リンクへのユーザーアクセスを拒否することはできません、私はこれを手動で行う必要がある場合、私は追加する必要がありますすることができます私が持っているすべてのコントローラのアクションには以下のブロックコードが必要です。
public ActionResult Index()
{
if (Session["username"] != null)
{
//then user can go anywhere with any link
}
else
{
//user cannot go to here without login
}
}
(彼らがログインしていない場合)は、任意のリンクをクリックするか、ブラウザでリンクを入力すると、私は、ログインページにリダイレクトするようにユーザーを強制することができます方法はありますか?私は経路を設定したり、フィルタ設定を使って検索していましたが、私の問題を解決してくれないようです。私はチェックコードを各コントローラ/アクションに手動で追加することなくこれを行う一般的な方法があることを願っています。
私の問題を読んでくれてありがとう、私は非常にこれを解決するために任意のコメントを充当されます。
セッションがない場合は、開始ページにリダイレクトしてみてください。 – WasteD
@WasteDユーザーを確認してログインページにリダイレクトすることができますが、ユーザーが来ることができるコントローラまたはアクションに検出ログインコードをコピーする必要があります。私がこれを解決できなければ、それは最終的な方法になります。とにかく私の指定したコードよりも一般的なものがあるかどうかを知る必要があります。とにかく、私に返信してくれてありがとう! –