簡體   English   中英

如何基於用戶數據庫表中的“管理員”屬性將權限限制為ASP.NET MVC 4應用程序中的控制器

[英]How to restrict authorization to controllers in ASP.NET MVC 4 app based on 'Admin' attribute in User database table

我有一個ASP.NET MVC應用程序,該應用程序具有兩個控制器-一個將用於所有注冊用戶(因此,數據庫中User表中僅擁有的用戶可以訪問此控制器),另一個用於管理員(管理員由True確定) User表中Admin屬性中的值)。

為了澄清起見,User表具有四個屬性:
ID(int)-這是與用戶的Windows ID相同的ID
姓氏(nvarchar)
姓(nvarchar)
管理員(位)

盡管未能理解我應該采取的路線,但我對此進行了一些研究。 在ASP.NET MVC4中,根據用戶是否為管理員來限制訪問的最佳方法是什么? 還要限制將其ID存儲在數據庫中的用戶對通用控制器的訪問嗎?

任何幫助將不勝感激。 謝謝。

將您的所有管理員放入一個AD組將更加容易。 然后,您可以僅使用authorize屬性-http: //www.asp.net/web-api/overview/security/authentication-and-authorization-in-aspnet-web-api

但是,如果您需要使用此“用戶表”,那么我認為您將必須在每個控制器方法中放置一個if語句。 像這樣:

string username = User.Identity.Name;
bool isadmin = select admin from db where user == username;
if(isadmin)
{
return View();
}
else
{
return HttpNotFound();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM