ASP.NET 安全角色和权限

2023-11-21

我对 ASP.NET 安全模型很满意,在该模型中,人们可以根据用户的角色(例如,用户在 web.config 中的角色)来允许/拒绝对用户的访问。

<system.web>
  <authorization>
    <allow roles = "Admin" />
  </authorization>
</system.web>

然而,我想做的是给管理员用户一组权限,然后可以检查这些权限,例如具有“可以打印文档”、“可以删除文档”等权限的管理员用户

这种事情可以开箱即用吗?还是我需要走自定义路线?


您可以按照中所述使用 Azman这篇 MSDN 文章.

但 Azman 有很多地方我不喜欢,因此我推出了自己的角色作为 RoleProvider 的补充(用于管理权限到角色映射的附加表、API 和管理工具)。

我的自定义实现非常简单:

  • 角色和权限之间的M-N关系。

  • 一个 API“HasPermission”,用于测试给定主体是否具有给定权限。这只是迭代所有角色并检查该角色是否具有给定的权限。出于性能原因,映射权限角色使用 ASP.NET 缓存进行缓存。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ASP.NET 安全角色和权限 的相关文章

随机推荐

  • 抑制 Java 中已弃用的导入警告

    在 Java 中 如果导入已弃用的类 import SomeDeprecatedClass 您会收到此警告 The type SomeDeprecatedClass is deprecated 有没有办法抑制这个警告 为了避免警告 做not
  • 如何在express Node js中获取删除请求的参数

    我对nodejs比较陌生 如何获取Delete请求传递的value参数 我正在使用节点express js 感谢advs 您可以使用 req body 来获取您发送的值 eg router delete test function req
  • HTML Canvas - 圆圈周围的虚线描边

    我确实知道在画布上渲染点划线没有原生支持 但我已经看到人们能够为此提供支持的聪明方法 我想知道是否有任何方法可以翻译它以允许在形状 特别是圆形 周围渲染点状笔划 最简单的方法使用context setLineDash ctx setLine
  • nodejs socket.io 无法连接到服务器?

    我整个下午都在盯着node js 和socket io 示例 我正在尝试拼凑一个简单的页面 它会告诉我有多少用户连接到了服务器 我已阅读以下文档http socket io 以及这里的一些教程 问题准确地概述了我正在尝试做的事情 我也发现了
  • 用户看不到 mysql 工作台中的数据库

    我正在尝试使用 Spring Roo 来学习本教程 所以 我所做的是 转到 mysql 工作台 创建一个名为 pizzashop 的新模式 通过服务器管理帐户访问本地主机 在 用户和权限 中创建一个名为 pizzashop 和密码 pizz
  • Scala Spark,列表缓冲区为空

    在注释 1 中的这段代码中 列表缓冲区项的长度正确显示 但在第二条注释中代码永远不会执行 为什么会出现这种情况呢 val conf new SparkConf setAppName app setMaster local val sc ne
  • “ActionView::Template::Error(未预编译)”在“image_tag nil”上引发

    如果我没有正确处理视图 生产环境将显示 500 这可能是 但我有点粗心 好几次都忘记了这个问题 我怎样才能防止这种情况发生 我该如何使用在生产环境中不加500 image tag必须有一个源 Rails 无法对其执行任何操作 但会引发异常
  • Python:将 3D 数组中的值存储到 csv

    我有以下问题 我有一个 3D 数组 例如matrix np zeros 30 30 100 其中每个条目都是一个坐标并获取一个值 所以matrix 0 0 0 是坐标 x 0 y0 z 0 且值为 0 现在我想将所有值存储在 csv 中 如
  • 使用 Django Rest Framework 和 IOS 应用程序时要使用哪种身份验证?

    我有一个 iOS 应用程序 它使用由 Django REST 框架提供支持的 API 来存储 更新 从数据库中获取数据 我需要提供以下两个功能 将用户数据存储在服务器上 使用电子邮件登录 使用 Facebook 登录 我可以使用两种不同的身
  • 如何动态地将内容加载到 JavaFX 选项卡?

    我有一个 GUI 是使用 JavaFX 和 FXML 制作的 该 GUI 有很多组件 但并非一次性需要所有组件 例如 想象一个 GUI 从其服务器部分接收城市列表 每个城市都在其自己的选项卡上进行描述 并用很多节点进行描述 该城市集包含 3
  • iOS 7 应用程序图标、启动图像和命名约定,同时保留 iOS 6 图标

    我刚刚在 iOS 6 上完成了一个应用程序 并在一周前购买了一个开发者帐户 因此没有太多时间使用 iOS 7 SDK 刚刚下载了 Golden Master 版本并尝试升级我的应用程序以与 iOS 7 兼容 我意识到 iOS 7 需要对应用
  • Python 日志记录:disable() 的反向影响

    The 记录文档说调用logging disable lvl 方法可以 暂时限制整个应用程序的日志输出 但我很难找到 暂时 以以下脚本为例 import logging logging disable logging CRITICAL lo
  • ImageView 上的透明视图

    我被堵在那里了 我试图在背景上放置一个透明视图 我尝试了几种方法 通过 XML android background color transparent or android color 80000000 或者像这样引用 color xml
  • C++ 中的大文件支持

    64 位文件 API 在每个平台上都不同 在窗口中 fseeki64在Linux中 fseeko在 freebsd 中 另一个类似的调用 如何才能最有效地使其更加方便和便携 有什么有用的例子吗 大多数基于 POSIX 的平台都支持 FILE
  • 使用 Boost 进行进程间读取器/写入器锁定

    这个线程在解释如何使用 Boost 实现读取器 写入器锁时 它是黄金 它看起来相对简单 我真的很喜欢它 但它似乎也使用了非命名锁 我需要一个进程间解决方案 不需要是可移植的 可以仅适用于 Windows 有没有办法实现进程间shared m
  • 使用 ODATA 过滤 x 和 y 之间的日期

    我正在研究新的 ASP NET Web API 作为报告工具 在 SQL 中我会这样做 WHERE order date BETWEEN to date 2003 01 01 yyyy mm dd AND to date 2003 12 3
  • 什么xsd会让一个元素无限地拥有自己作为子元素?

    我如何创建一个 xsd 来为我提供这种可以无限继续的 xml 结构
  • 以另一个用户身份执行 Oracle 存储过程

    我主要是一个 Oracle 新手 所以请原谅我 如果这是一个愚蠢的问题 我有一个名为 CODE 的模式 其中包含执行任意 SQL 的存储过程 目前 请忽略与之相关的潜在安全问题 传入的SQL会选择数据 但所有数据都驻留在模式 A B 或 C
  • 对预检请求的响应未通过访问控制检查 Laravel 和 Ajax 调用

    我有一个用 Laravel 5 1 制作的 REST api 托管在远程服务器上 现在 我尝试从另一个网站 我在本地 使用该 API 在 Laravel 中 我设置了发送 CORS 标头所需的行 我还使用 Postman 测试了 API 一
  • ASP.NET 安全角色和权限

    我对 ASP NET 安全模型很满意 在该模型中 人们可以根据用户的角色 例如 用户在 web config 中的角色 来允许 拒绝对用户的访问