我现在正在开发用户管理功能。我想补充的授权和重定向用户到我的登录页面,如果他试图在登录前访问这样的用户管理页面:如果未登录,将用户重定向到另一个视图
[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
此时是否有可能返回另一个控制器视图?
'return RedirectToAction(“Login”,“Login”);'(你错过了'return') –
你是否正在使用所有的操作方法?你应该实现某种身份验证(_i.e。formas authentication_)并使用'[Authorize]'属性来为你处理所有事情。 –
@AdilMammadov:它是否适用于asp.net mvc?我是新来的。所以想到通过保持Session的用户名来做到这一点。 – ViVi