私は現在、ユーザー管理機能を開発中です。私は彼がログインする前に、このようなユーザー管理ページにアクセスしようとしている場合は、許可を追加して、私のログインページにユーザーをリダイレクトしようとしています:ログインしていないユーザーを別のビューにリダイレクトする
[HttpGet]
public ActionResult UsersList()
{
if (Session["UserName"] == null)
{
RedirectToAction("Login", "Login");
}
else
{
var User = new User();
User.usersList = DBManager.Instance.GetUsersList();
User.PreferedLanguages.Add(new SelectListItem { Text = "ENGLISH", Selected = true, Value = "ENGLISH" });
User.PreferedLanguages.Add(new SelectListItem { Text = "DUTCH", Value = "DUTCH" });
return View(User);
}
}
しかし、私は正しい行動結果のビューを返す必要がありますか?このコードはコンパイルされませんし、私は次のエラーを取得:
エラー4「WebApplication9.Controllers.UserManagementController.UsersList()」: すべてのコードパスが値を返さない> E:\作業\ WebApplication9 \コントローラ\ UserManagementController.cs
この時点で別のコントローラビューを返すことは可能ですか?代わりに、単純なRedirectToAction
の
return RedirectToAction("Login", "Login");
:
'return RedirectToAction(" Login "、" Login ");'(あなたの 'return'がありません) –
あなたはすべてのアクションメソッドでそれをやっていますか?何らかの認証(_i.e。formas authentication_)を実装し、すべてのものを処理するために '[Authorize]'属性を使うべきです。 –
@AdilMammadov:それはasp.net mvcで利用できますか?私はこれに新しいです。セッションでユーザー名を保持することでそれを行うことを考えました。 – ViVi