问题标签 [roleprovider]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net - 扩展 RoleProvider GetRolesForUser()
中的GetRolesForUser()
方法RoleProvider
获取用户登录名并返回该用户的角色列表。但在我的应用程序中,这还不够,我需要更多信息才能获得用户的角色。
我怎样才能将这些额外信息放入方法中?
我有它Session
,但我发现它Session
在RoleProvider
.
我的想法是将这些额外信息放在扩展的某个类中MembershipUser
,假设我可以在RoleProvider
. 但我不知道如何创建CustomMembershipUser
并使其成为MembershipProvider
. 这甚至可能吗?
最简单的方法是使用 cookies,但我试图远离它。
asp.net-mvc - 当我更改数据库时,为什么我的自定义角色提供程序不会更新角色?
我正在使用 ASP.NET MVC 构建一个小型 CMS 系统,并且我有一个自定义角色提供程序,它使用由使用 Castle Windsor 实现的工厂实例化的 userRepository。
具有管理员权限的人可以使用后端管理更改保存在数据库中的用户角色。
但是,每当我登录刚刚更改角色的用户(我目前使用测试用户)时,角色都不会更新。我尝试注销并再次登录,但没有结果 - 我使用的角色保持不变。我也试过清除浏览器的缓存和cookies,还是没有结果。
数据在数据库中正确更新。
我已经尝试为登录用户输出角色,所以我可以查看我的自定义角色提供者中的数据是否已更新,但角色提供者中的数据看起来保持不变。所以显然角色提供者没有从每个请求的数据库中获取数据。
有趣的是,如果我换了一个角色并重新发布了我的网站,那么改变就应该如此。它只是不是每次都重新发布我的网站的选项,管理员更改用户的角色。那不是很动态。
关于为什么会发生这种情况以及如何解决它的任何想法?
asp.net - ASP.NET MVC 自定义成员资格指南
我正在尝试从 PHP 迁移到 ASP.NET。我有大约 10 年的 PHP 经验和 4 年的 C# 经验。但是我在 ASP.NET 中的身份验证和成员资格系统存在问题。所以我花了很多时间寻找关于如何从头开始为自定义数据库设置创建会员提供程序的指南,但我找不到任何我可以开始工作的东西。
那么你们当中有人知道创建和实施自定义会员提供程序的好指南吗?
asp.net-mvc-2 - 具有本地化功能的 ASP.NET MVC2 身份验证表单
我有两级身份验证,首先用户输入他们的 nt/密码并由 LDAP 验证,然后我有一个自定义角色提供程序,以确保用户可以访问所述页面。
话虽如此,在我的 web.config 中,我有:
现在,如果我在登录表单中尝试使用语言按钮,它会调用一个不可用的操作,因为用户仍未通过 LDAP 身份验证。我的问题是:
我可以像使用 [Authorize] 属性进行角色检查一样避免对特定操作进行成员资格检查吗?
我尝试使用:
这是行不通的。从未调用过 ChangeCulture 操作。
这个答案:
ASP.NET MVC Forms 身份验证和未经身份验证的控制器操作
展示了如何为角色做这件事,对会员+角色有什么想法吗?
谢谢。
asp.net - ASP .NET 自定义 RoleProvider 不尊重 cacheRolesInCookie="true"
我已经实现了一个自定义角色提供程序,并在我的 web.config 文件中对其进行了配置,如下所示:
我已经在我的自定义角色提供程序中覆盖了 GetRolesForUser 函数,并且我已经介入了它,它工作得很好 - 为我正在测试的用户加载了 60 个角色。但是,我注意到在调用 User.IsInRole 的每个请求上都会调用 GetRolesForUser。在我编写的其他应用程序中,它只调用一次,然后将结果缓存在 cookie 中。由于某种原因,缓存不适用于此应用程序。关于为什么的任何想法?
asp.net - 在 ASP.NET Web 应用程序中合并组织单位和业务角色
在企业业务的真实世界企业 Web 应用程序中,我们总是需要通过用户的单位和角色来限制对数据的访问。
假设我们有一家企业公司,在一个国家/地区拥有许多购物商店。
因此,公司的总部可以查看所有分支机构的所有发票和统计数据。该国的每个地区都为其自己的分支机构管理和规划区域销售策略。然后该地区的用户也可以看到其分支机构创建的所有发票。每个分支机构都可以创建发票、客户并仅查看其数据。
我们可以看到我们有两个主要的访问控制定义:
1- 角色(多年前就已经考虑并实现了!):我们可以使用 RoleProvider 轻松实现并控制 UI 级别的访问控制(web.config 和 sitemap.config)
2- 拒绝/授予用户更新/查看数据访问权限的单位及其与角色的关系。
我已经在 ASP.NET 中实现了一个自定义主体来获取用户的单位和角色,但我认为应该有一个经典的解决方案......
asp.net-mvc - 拒绝用户查看特定视图?
我有 mvc2 项目,并且我制作了自定义角色 Provider 我正在使用属性 [Authorize(Roles = "Admin")] 来防止授权用户执行一些总是拒绝用户登录的操作 我想更改它并重定向用户认为我在向他表明他无权执行此操作
asp.net-membership - 是否有必要覆盖成员资格和角色提供者?
我正在开发一个 Web 应用程序,由于要求,我不想将连接字符串存储在 Web 或应用程序配置中。
到目前为止,我找到了实现这一目标的唯一方法 - 覆盖成员资格和角色提供者。
我也不完全理解为什么当所有身份验证都由会员提供者处理时,我还必须覆盖角色提供者?
谢谢
asp.net-membership - ASP.NET Membership 中用户之间的关联
我想在我的应用程序中创建用户之间的关联。例如,有一个项目主管(角色:PD),它有许多居民(角色:居民),同样,每个 PD 都有一个 APD(角色:助理项目主管)。
对于每个 PD,我只想向他显示属于他的那些居民,即我想通过给定的 PD 过滤居民。我可以按居民角色过滤用户(通过使用 GetAllUsers() 和 GetUsersInRole() 方法的组合),但我似乎无法通过他们的项目主管过滤居民,因为我无法在会员资格中的两种角色类型之间建立关联表。
我该怎么做才能拥有这种功能?我需要扩展角色提供者来处理这个吗?
membership - 为什么我有这个 RoleProvider 问题?
我目前有 2 个简单的 ASP .Net 应用程序。两个应用程序共享相同的 aspnetdb 成员资格数据库,用于成员资格、角色和提供者以及相同的加密和解密密钥。他们还在 IIS 中拥有单独的网站和单独的应用程序池。
我遇到的问题是,尽管两个应用程序都有一个具有不同应用程序名称的角色提供程序,但它们都在第二个应用程序启动后注册并使用第二个应用程序的角色提供程序。
这两个应用程序在默认页面上都有以下代码块:
应用程序 1 在其 web.config 中有以下 roleprovider 块:
应用程序 2 在其 web.config 中有以下类似的角色提供者声明:
我遇到的问题是,当我显示示例应用程序 1 时,我得到
当前角色提供程序详细信息:AspNetSqlRoleProviderWebApp1,示例 Web 应用程序 2
当我查看示例应用程序 2 时,我得到
当前角色提供程序详细信息:AspNetSqlRoleProviderWebApp2,示例 Web 应用程序 2
由于这些是完全独立的 Web 应用程序,为什么第二个应用程序的“应用程序名称”会出现在第一个应用程序中?
据我所知,唯一常见的是数据库共享相同的 aspnetdb 数据库以及应用程序名称“/”的相同成员资格提供程序设置,以便在应用程序之间共享用户。