다른 역할을 가진 사용자가 있습니다. 사용자의 역할에 따라 제한된보기를 전달하려고합니다. 내 코드에서 역할을 확인하는 항목이 있습니다.사용자 로그인 한 번 사용자 정보 캐싱
위 코드가 작동하려면 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 뷰 (db.Customers.ToList()); } else { var restricted = db.Customers여기서 c.FirstName == "John" select c; 되돌아보기 (제한적); } } –