Asp.net mvc MVC5 EF6用户权限
我想知道在MVC应用程序中检查实际登录用户权限的最佳实践是什么。我想在视图和控制器上这样做 实际上,我可以检查实际登录的用户是否担任这样的角色:Asp.net mvc MVC5 EF6用户权限,asp.net-mvc,rights-management,Asp.net Mvc,Rights Management,我想知道在MVC应用程序中检查实际登录用户权限的最佳实践是什么。我想在视图和控制器上这样做 实际上,我可以检查实际登录的用户是否担任这样的角色: User.IsInRole("roleName"); if(User.HasRight(EnumRight.AddDocuments) ) { //DO SOMETHING } 我有一张桌子。每个权限都包含名称和枚举权限表示。我想完成的是IPrincipal或IIdentity的扩展方法,这样我就可以像这样检查用户的权限: User.IsI
User.IsInRole("roleName");
if(User.HasRight(EnumRight.AddDocuments) )
{
//DO SOMETHING
}
我有一张桌子。每个权限都包含名称和枚举权限表示。我想完成的是IPrincipal或IIdentity的扩展方法,这样我就可以像这样检查用户的权限:
User.IsInRole("roleName");
if(User.HasRight(EnumRight.AddDocuments) )
{
//DO SOMETHING
}
扩展方法示例:
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;
}
}
然后在视图或控制器上,我可以这样使用:
User.IsInRole("roleName");
if(User.HasRight(EnumRight.AddDocuments) )
{
//DO SOMETHING
}
通常,您将实现一个授权过滤器,并将其应用于您的操作方法。下面是如何实现操作过滤器的示例