asp.net - 基于权限的访问控制

标签 asp.net security

我正在尝试在 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/

相关文章:

javascript - 用户可以使用 devtools 查看获取的文档吗?

asp.net - 部署到 Azure 后出现编译错误

javascript - 从编码的 Base64 Canvas 下载图像会出现 maxUrlLength 值错误

C# 字符串到 SqlDateTime : how to set format for recognition?

c# - ASP.NET - GridView 问题

javascript - 从 PHP SVG-image 返回并通过 <img> 标签执行内部 javascript

asp.net - 使用 ASP.net 解决 Silverlight 中缺乏 SEO 的问题

java - 我想生成 'hash' 来识别给定的机器,如何在 Java 中做到这一点?

authentication - 这种无需寻址数据库的访问刷新 token 授权模式是否安全?

.net - 在组件中存储某些内容是否安全?