我对 ASP.NET MVC 很陌生,我正在尝试构建一个使用 MVC 5 内置授权方法的网站。
这是我到目前为止所做的:
- 在 AspNetUsers 表中创建了许多用户。
- 在 AspNetRoles 表中创建了许多角色。
- 通过连接 RoleID 和 UserID,通过 AspNetUserRoles 表为用户分配角色。
现在,要设置一个页面以仅向具有管理员角色的用户显示某些内容,否则将其隐藏,我已经这样做了:
@if(User.IsInRole("Admin"))
{
<p>You are logged in as an admin.</p>
} else
{
<p>You are not logged in as an admin.</p>
};
这样做可以吗,还是很糟糕?我已经玩了很长时间了,它按预期工作(据我所知)。
我知道我可以创建 CustomAuthorizationAttributes 并将它们分配给 Controller 中的 ActionMethods,但我对此语法并不是 100% 满意。