MVC appliaction에서 실제로 기록 된 사용자의 권한을 검사하는 가장 좋은 방법은 무엇일까? 나는 전망과 관제사에게 이것을하고 싶다. 실제 로그인 한 사용자가 같은 역할에있는 경우MVC5 EF6 UserRights
사실은 내가 확인할 수 있습니다
User.IsInRole("roleName");
내가 권한 테이블이있다. 모든 권리에는 이름과 Enum 권리 표시가 포함됩니다.
예 확장 방법 :
public static class MyPrincipal
{
public static string HasRight(this IPrincipal principal, EnumRight right)
{
// THIS would be place where I would check if a user have right with specific enum.
return true/false;
}
}
다음 뷰 또는 컨트롤러가이 같은를 사용할 수 있습니다 무엇을 달성하고자하는 IPrincipal 또는 IIdentity에 대한 확장 방법은 그래서 그런 사용자의 권한을 확인할 수있다 그 :
if(User.HasRight(EnumRight.AddDocuments))
{
//DO SOMETHING
}
것이 좋습니다 또는 어떻게 유사한 메커니즘이 간단 할 수 있습니까? 어쩌면 독립적 인 정적 클래스가 확장이 아니겠습니까?
내 확장 메서드에서 실제 사용자 ID를 가져 와서 사용자에게 권한이 있는지 확인하는 데 필요한 데이터를 데이터베이스에서 가져 오는 방법은 무엇입니까?