我想要的是:
一个 Intranet 应用程序,只有登录的人才能看到该应用程序......以及管理员和成员角色。
1:
我创建了一个 MVC 5.0 Web 应用程序(用于 Intranet)。
它有一个带有家庭控制器的主页视图...我有一个带有管理员控制器的管理员视图。
主页上有一个链接(虽然它还不是链接,但无论如何)是有条件的:
@if(User.IsInRole("Admin")){
<li>Admin</li> @*Will be link to admin controller action*@
}
我想创建 1 个具有“管理员”角色的用户,然后允许他/她使用用户名和“管理员”或“成员”的新角色创建新用户(将其分配给 Windows 身份验证登录名)...
2:
接下来,我想让具有管理员角色的用户可以使用适合他们的角色执行我的 SQL 数据库中表示的所有内容。
例如,
John 仅对某些表(“成员”)具有读写权限,但 Jack 和 Jill 对所有表(“管理员”)具有读写权限。
John 看不到 Home 视图中的 Admin 链接,但 Jill 可以。Admin 控制器操作被锁定,只允许以“Admin”为角色的用户,而不是“Member”...
核心问题(考虑 1 和 2):
我意识到这里有两组身份验证,一组用于应用程序本身的 Windows 身份验证,然后一组用于数据库,但我有一种有趣的感觉,它们应该以某种方式联系起来。我已经阅读了很多材料,但一直对它感到困惑,来自 Web 表单身份验证技能集,这是我的第一个 Intranet 应用程序......有点困惑。
到目前为止我所做的:
我目前已启用 Windows 身份验证,并且可以成功使用该应用程序并调用:
@User.Identity.Name
找出我是谁...
旁注:
我想了解在什么上下文中使用 Authorize 参数,例如。
[Authorize(Roles="Admin")]