我擁有不同角色的用戶。我想根據用戶的角色提供受限制的視圖。我在我的代碼中檢查角色:用戶登錄後緩存用戶信息
bool isAdmin = UserManager.IsInRole(currentUser.Id,"admin");
bool isEmployee = UserManager.IsInRole(currentUser.Id,"employee");
對於上面的代碼工作,我需要實例化currentUser。換句話說,我需要捕獲當前登錄用戶的信息。我嘗試了類似var user = User.Identity.GetUserId();
和其他許多其他信息,但找不到工作代碼。我將不勝感激任何幫助。謝謝!
更新:
這裏是我的完整方法的代碼。你們可能想看看,直到我檢查上面的例子。
public ActionResult Index()
{
var user = User.Identity.GetUserId();
bool isAdmin = UserManager.IsInRole(user, "admin");
bool isEmployee = UserManager.IsInRole(user, "employee");
if (isAdmin)
{
return View(db.Customers.ToList());
}
else
{
var restricted = db.Customers.Where(c => c.FirstName == "John");
return View(restricted);
}
}
User.Identity.GetUserId()應該工作得很好。它是一個全新的MVC5項目嗎? –
這是'Authorize'屬性的用途。看看[這個例子](http://forums.asp.net/t/1791288.aspx) – Jonesopolis
這裏是我的完整方法代碼。你們可能想看看,直到我檢查上面的例子。 () public ActionResult Index() var user = User.Identity.GetUserId(); bool isAdmin = UserManager.IsInRole(user,「admin」); bool isEmployee = UserManager.IsInRole(user,「employee」); if(isAdmin){ return View(db.Customers.ToList()); } else { var restricted = from c in db.Customers where c.FirstName ==「John」 select c; return查看(限制); } } –