C# 如何在基于';的ASP.NET MVC 4应用程序中限制对控制器的授权;管理员';用户数据库表中的属性

C# 如何在基于';的ASP.NET MVC 4应用程序中限制对控制器的授权;管理员';用户数据库表中的属性,c#,asp.net,sql-server,asp.net-mvc-4,authorization,C#,Asp.net,Sql Server,Asp.net Mvc 4,Authorization,我有一个ASP.NET MVC应用程序,它有两个控制器-一个用于所有注册用户(因此,只有数据库中用户表中的用户才能访问此控制器),另一个用于管理员(管理员由用户表中admin属性的真值确定) 仅澄清一下,用户表有四个属性: ID(int)-此ID与用户的Windows ID相同 名字(nvarchar) 姓氏(nvarchar) 管理员(比特) 我做了一些关于这方面的研究,虽然我不知道我应该走哪条路。在ASP.NET MVC4中,根据用户是否为管理员来限制访问的最佳方法是什么?以及将访问通用控制

我有一个ASP.NET MVC应用程序,它有两个控制器-一个用于所有注册用户(因此,只有数据库中用户表中的用户才能访问此控制器),另一个用于管理员(管理员由用户表中admin属性的真值确定)

仅澄清一下,用户表有四个属性:
ID(int)-此ID与用户的Windows ID相同
名字(nvarchar)
姓氏(nvarchar)
管理员(比特)

我做了一些关于这方面的研究,虽然我不知道我应该走哪条路。在ASP.NET MVC4中,根据用户是否为管理员来限制访问的最佳方法是什么?以及将访问通用控制器的权限限制为将其ID存储在数据库中的用户


任何帮助都将不胜感激。谢谢。

将所有管理员放在一个广告组中会容易得多。然后您可以使用authorize属性-

但是如果您需要使用这个“用户表”,那么我认为您必须在每个控制器方法中放入if语句。大概是这样的:

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

谢谢你的回复,阿伯纳德!这是一个解决方案,我应该研究更多,我不知道很多关于广告,因为我仍然在学习。是否可以通过应用程序部分管理广告?i、 e.如果用户被授予管理员访问权限,是否可以使用c#代码将该成员添加到广告组?许多人感谢这是可能的-