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