我正在開發一個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