我正在尝试在 ASP.NET 中实现基于权限的访问控制。为了实现这一点,我创建了一些数据库表,其中保存了有关哪些角色分配了哪些权限以及哪些角色分配给了哪些用户的所有信息。
我正在检查业务访问层的权限。现在我已经创建了一个检查用户权限的方法。如果用户有权限那么就可以,否则它会重定向到另一个页面。
我想知道以下事情是否可能?
class User
{
[PremissionCheck(UserID,ObjectName,OperationName)]
public DataTable GetUser()
{
//coding for user
}
}
我在MVC3中见过它。我可以在 ASP.NET 中创建它吗?如果是的话我该如何实现?
最佳答案
任何权限系统都需要两个组件——授权和访问控制。授权是证明用户身份的手段。通常,这是通过某种用户和密码存储来完成的,但您可以使用 OpenID 等系统或任意数量的联合身份系统(Active Directory/Kerberos/等)来完成同样的事情。
一旦您知道用户是谁,就可以进行访问控制,即对该用户强制执行权限。
现在,在 ASP.NET 的情况下,您将无法仅将属性粘贴到某些内容上,因为属性不运行代码。为了让验证代码运行,您需要编写某种插件来为您执行此验证。 Webforms 已经支持身份验证和访问控制机制;为什么要重新发明轮子?
关于asp.net - 基于权限的访问控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11664078/