【发布时间】:2018-07-12 09:28:40
【问题描述】:
我为仅在内部使用的 Web 应用程序实施 Windows 身份验证。这样用户不需要登录应用程序,而是在登录 Windows 时已经过身份验证。
我需要根据用户所属的组以及该组对 Active Directory 的权限授予用户对应用程序不同部分的访问权限。
我可以通过以下方式在不同的视图上做到这一点:
[Authorize(Roles = @"Domain\Group")]
如何在同一个视图上做同样的事情-根据用户在 Active Directory 中的组权限授予对视图不同部分的访问权限。
<div class="row">
<div class="col-md-4">
<h2>User Name: @User.Identity.Name</h2>
<p>
Test site with Active Directory
Only users that belong to Group 1 should see this section
</p>
<p></p>
</div>
<div class="col-md-4">
<label>Only users that belong to Group 2 should see this section</label>
</div>
<div class="col-md-4">
<label>Only users that belong to Group 3 should see this section</label>
</div>
【问题讨论】:
-
-
“视图的不同部分”是什么意思?视图在 浏览器 上运行。如果您不希望某些部分最终出现在浏览器中,请确保首先不发送到那里。这可以通过很多的方式来完成。一种方法是在视图中进行条件渲染(即 if 语句),或者对需要授权的部分使用部分视图并仅显示那些有权限的部分。也许在每个局部视图的顶部打勾?
-
如果您绑定到远程甚至本地数据,请在视图中使用之前对数据进行过滤。
-
你想做什么?这个 HTML 代码应该显示什么?您是否尝试向特定用户显示特定列?显示过滤的菜单元素?这太宽泛了,无法在不写整篇文章的情况下按原样回答
标签: asp.net-mvc windows-authentication