问题标签 [sqlroleprovider]
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.
c# - 大多数人使用 .NET 的 SqlMembershipProvider、SqlRoleProvider 和 SqlProfileProvider 吗?
大多数人在开发具有成员资格功能的站点时是否使用 .NET 的 SqlMembershipProvider、SqlRoleProvider 和 SqlProfileProvider?
还是有很多人自己创建提供商,甚至完全创建自己的会员系统?
SQL 提供程序有哪些限制可以让您自行开发?
扩展 SQL 提供程序以提供附加功能是否容易?
对于
根据 Scott Gu 的博客的参考,Microsoft 提供了 SqlMembershipProvider 的源代码,以便您可以自定义它,而不是从头开始。仅供参考。
iis-7 - ASP.NET 3.5 IIS7 角色安全实现
我正在使用库存的 MS Forms Authentication 和 SqlRolesProvider 开发在 IIS7(Server '08)上运行的 ASP.NET 3.5 应用程序。(我使用aspnet_regsql工具生成表)。
我们有三个角色:系统管理员、应用管理员和用户。所有用户都在用户中,一个用户可以在 SysAdmins、AppAdmins 或两者中。
我似乎无法获得一个管理员目录来阻止对不在 SysAdmins 和 AppAdmins 中的用户的访问。要么让所有登录用户进入,要么不让任何人进入。
以下是我当前配置的相关位:
我相信这个配置目前阻止了所有人。我做过类似的配置,不会阻止任何人。
我怀疑问题在于同时使用 system.web 和 system.webserver 部分。任何有关使此配置正常工作的帮助将不胜感激。
更新
从 <location> 元素中删除 <system.webServer> 部分会使该文件夹中的 .aspx 页面正确返回!不幸的是,该文件夹中的 .js 文件仍然对所有用户都被阻止......理想情况下,我也想锁定 .js 文件,以免被无视。所以我还在寻求帮助。
.net - 提供者异常:InvalidCastException
我们的客户中很少有人经常收到无效的强制转换异常,有变体,即InvalidCastException
/ ProviderException
,但都是从方法调用产生的:System.Web.Security.SqlRoleProvider.GetRolesForUser(String username)
另一个变体是:
异常类型:
InvalidCastException
异常消息:无法将类型的对象System.Int32
转换为 typeSystem.String
。
我查看了应用程序事件日志,其中显示:
有没有人遇到过这个问题,如果有,解决方法是什么?
谢谢
JS
asp.net - 高级 .NET 成员资格/角色提供者
我需要具有以下功能的 RoleProvider:
根据系统中动态分配的任务,将角色动态分配给任务
IPrincipals 的身份验证/授权,他们有权访问
报告,显示当前登录的用户,以及其他常见的使用统计信息。
我很确定我将不得不自己推出,但想确保我没有错过 OSS 甚至 MS 的东西。
我也在使用 ASP.NET MVC,所以我的基本计划是编写一个自定义属性,例如:[Authorize(Task=Tasks.DeleteClient)]
并将其放在需要授权的方法上。我不会根据角色授权,而是根据用户在数据库中配置的任何设置对角色授权任务。
想法?
asp.net-membership - ASP.NET 通用提供程序启用了哪些默认 sql 提供程序不启用的功能?
在 ASP.NET 通用提供程序NuGet 包的自述文件中是这个引用
ASP.NET 版本 4 中附带的 SqlMembershipProvider、SqlRoleProvider、SqlProfileProvider 类仅支持 Microsoft SQL Server 和 Microsoft SQL Server Express。它们不支持更新的产品,例如 Microsoft SQL Azure 和 Microsoft SQL Server Compact。
但是,当我为 Sql Azure http://support.microsoft.com/kb/2006191运行自定义 aspnet_regsql 脚本 ,然后将我的 web.config 指向 SQL Azure 数据库时,ASP.NET 成员资格似乎可以正常工作。
谁能告诉我通用提供程序启用的 SQL Azure 到底有什么不适用的?
asp.net - 如何为用户分配与 Active Directory 关联的安全角色
我的应用程序(使用 Windows 身份验证)中的每个页面都有不同的访问角色,以使用 SqlRoleProvider 限制用户访问。因此,要将用户添加到角色,我会去,
现在,我需要将公司的 AD 组集成到我的应用程序中,这样每个 AD 组也将被分配这些访问角色,并且某个 AD 组的用户将自动“继承”这些角色。
我的问题是:
我可以继续使用我的 SQL 表,如 aspnet_Users、aspnet_Roles 等吗?
如何整合 AD 组?以及如何将角色分配给 AD 组?(到目前为止,我可以使用Directory Entry检查用户所属的所有 AD 组)。
当用户使用 Windows 身份验证登录应用程序时,在我检查他们是否属于特定 AD 组之后,我如何根据 AD 组“授予”或“分配”他们角色?
非常感谢您对这些问题的帮助。
asp.net - IIS8 Express 上的 SqlRoleProvider
我的 Web 应用程序(一个 WCF 服务)使用SqlRoleProvider
,它在Visual Studio Development Server上运行良好。将其切换到IIS8 Express会导致它抛出一个错误NullReferenceException
:
我在IsUserInRole
方法文档中找不到此异常的提示。切换回 Visual Studio 开发服务器使其工作。此异常的原因是什么,我该如何正确修复它?该项目的目标框架是.NET Framework 4。
这是配置的连接字符串:
这是roleManager/providers
节点:
asp.net - 角色提供者是否缓存每个请求?
我的 MVC 应用程序在单个页面请求期间在多个位置使用用户角色。我的问题是默认 SqlRoleProvider 是否在页面请求的生命周期内缓存当前用户的角色?
例如,我在 Controller 方法的属性中使用角色:
和自定义代码
如果角色提供者不缓存角色,最好的解决方案是编写一个继承自默认角色提供者的自定义角色提供者,并覆盖获取角色一次并在请求期间缓存它们的方法?这可以通过 Authorize 属性和我自己的代码都使用缓存角色的方式来完成吗?
(如果您想知道,我不想使用 cacheRolesInCookie web.config 选项来缓存 cookie 中的角色)。
在此先感谢您的任何建议。
[编辑以包含由乔的回答触发的详细信息]
我反编译了 System.Web.Mvc.AuthorizeAttribute 并且 AuthorizeCore 方法为要检查的每个角色调用以下方法:
然后查看 System.Web.Security.RolePrincipal (即上面的“用户”),下面的两种方法确实使用了用户角色的缓存副本(如果为空,则填充缓存):
缓存存储为 User 上的一个字段,因此它的生命周期是在请求期间。
这些方法使用以下方法查找角色:
所以将使用您为应用程序选择的任何角色提供程序(默认或自定义)。
c# - SqlRoleProvider.GetRolesForUser 混淆:'对象引用未设置为对象的实例'
这只是在不久前发生在我身上。在我的代码中,我需要获取Roles
指定的用户。
这是我的代码中的内容:
现在这一切都很好,但是当我谈到这一点时:
系统抛出了那个该死的Object reference not set to an instance of an object
异常。老实说,让我发疯了几分钟。但是,当我将一小段代码更改为此(这是一个显式调用,对吗?):
该代码有效。我可以Roles
为用户检索并使用我想要的。
我想知道,为什么使用GetRolesForUser
instatiatedSqlRoleProvider
不起作用?因为这也可能发生在我将要处理的下一段代码中,即使用RemoveUsersFromRoles
and AddUsersToRoles
。而且,程序在寻找什么样的实例?我没有为该方法工作实例化什么?
c# - 向站点地图添加新角色
在我的程序中,管理员可以选择向数据库添加新角色。当然,这利用了以下CreateRole
方法System.Web.Security.Roles
:
现在我想知道,是否可以SiteMap
在运行时修改 my ,以便将新角色添加到roles
给定的列表中siteMapNode
?例如:
如果我在哪里插入一个名为 的新角色sampleRole
,siteMapNode 应该如下所示:
我的代码应该如何看?