c# - 如何在基于角色的授权 asp.net 中从数据库而不是 Web 配置中读取角色?
问题描述
我们正在使用基于角色的旧设计系统,并从webconfig
如下方式读取用户角色:
<authentication mode="Forms">
<forms loginUrl="/UserMgmt/login" timeout="2880" defaultUrl="~/Transaction/Index" enableCrossAppRedirects="true" />
</authentication>
<authorization>
<allow roles="Admin" />
<allow roles="VicePres" />
<deny users="*"/>
</authorization>
我正在寻找一种方法来删除角色webconfig
并将它们放在我的数据库表中。我知道它在某种程度上与IPrincipal
方法有关IsInRole
,但是经过数小时的谷歌搜索后,我无法理解这一点。
角色究竟在哪webconfig
里绑定到安全上下文,我应该如何更改它?
基于微软文章:
使用基于角色的 URL 授权规则时,将对受基于角色的 URL 授权规则保护的页面的每个请求调用 RolePrincipal 的 IsInRole 方法
我已经实现IsInRole
并且它在数据库查询对象中寻找角色并且工作正常,但是当角色从中删除时Web Config
,用户登录失败。
解决方案
推荐阅读
- angular - 如果无法导入 TranslocoService,如何翻译 const 文件?
- c# - Tab 而不是 Enter
- python - Pyspark - 使用新的列名从长到宽
- kubernetes - 在部署中重用 PV
- c++ - 使用 MariaDB c++ 连接器和正则表达式时发生 Segfault
- google-cloud-platform - 如何使用 terraform 在 GCP VM 实例上启用 bigtable api(读取)
- java - 如何为 SFTP 服务器正确指定目录路径?
- python-2.7 - 如何利用管理程序的 python2.7 库及其对作为 lxc 容器运行的 VM 的依赖关系
- java - 如何回复评论(论坛页面样式)
- r - 问题下载 gribr 包