我正在开发一个asp.net mvc应用程序。我需要能够根据用户名&角色限制用户在特定页面上可以看到的内容。用户名将以DOMAIN \ Username的格式成为Windows身份验证名称,并将分配给一个或多个将驻留在SQL数据库中的角色。asp.net mvc - 根据用户ID和角色显示内容
基于上述情况,我需要一种方式让用户只能看到与他们角色相关的信息。例如,在下图中,有3个图像代表用户可能访问的潜在应用程序。其中两个是绿色,另一个是蓝色。考虑这些是ROLEs。我如何确保仅属于蓝色的用户无法看到两个绿色。
在右上角的用户名被经由在剃刀的@User.Identity.Name
功能检测。我想这会像检测到当前用户那样简单,然后查询数据库中的角色。那么我们将如何限制基于这些角色的内容?
奖金问题,我想要一个管理组件,允许具有管理员角色的人通过查询组织帐户来分配新用户角色。有没有简单的方法来提供搜索功能?
HTML(索引视图)
<div class="row">
<div class="col-md-4 portfolio-item">
<a href="#">
<img class="img-responsive" src="http://placehold.it/700x400" alt="">
</a>
<h3>
<a href="#">Project Name</a>
</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio, gravida pellentesque urna varius vitae.</p>
</div>
<div class="col-md-4 portfolio-item">
<a href="#">
<img class="img-responsive" src="http://placehold.it/700x400" alt="">
</a>
<h3>
<a href="#">Project Name</a>
</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio, gravida pellentesque urna varius vitae.</p>
</div>
</div>
共享_layout
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>@ViewBag.Title - blah blah blah</title>
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
</head>
<body>
<div class="navbar">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
@Html.ActionLink("IHS Data Manager", "Index", "Home", new { area = "" }, new { @class = "navbar-brand" })
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li>@Html.ActionLink("Home", "Index", "Home")</li>
<li>@Html.ActionLink("About", "About", "Home")</li>
<li>@Html.ActionLink("Contact", "Contact", "Home")</li>
</ul>
<p class="nav navbar-text navbar-right">@User.Identity.Name</p>
</div>
</div>
</div>
<div class="container body-content">
@RenderBody()
<hr />
<footer>blah blah blahMorningStar Partners LP</p>
</footer>
</div>
@Scripts.Render("~/bundles/IDM")
@RenderSection("scripts", required: false)
</body>
</html>
用户如何登录到您的应用程序?你能显示认证和授权码吗? – Win
从长远来看,切换到声明和权限模型可能会更好,并检查用户是否有权执行某些操作或查看某些数据。 – Tom