Tag: roleprovider

使用会话自定义RoleProvider

我正在考虑使用自定义MembershipProvider / RoleProviders。 不幸的是,我们目前拥有的安全层需要设置一些会话内容。 因此,当调用IsUserInRole()方法时,Session对象始终为null,因为Session内容都是预先填充的。 关于如何解决这个问题以及保留使用基于会话的安全模型的任何建议? (我没有写它,我必须使用它)。 任何帮助一如既往地非常感谢。

自定义角色提供程序不实现inheritance的抽象成员

我需要一些帮助在asp.net mvc应用程序中实现自定义角色提供程序。 问题是我遇到了几个错误: MyRoleProvider does not implement inherited abstract member ‘System.Web.Security.RoleProvider.RoleExists(string) 我得到其他方法相同的错误。 但是,我确实有那些…… 我的web.config有这个: 我的自定义角色提供程序是这样的(我省略了一些方法): public class MyRoleProvider : RoleProvider { public override string ApplicationName { get { throw new NotImplementedException(); } set { throw new NotImplementedException(); } } public override bool RoleExists(string roleName) { throw new NotImplementedException(); } public override bool IsUserInRole(string username, string […]

使用SqlMembership Provider重置后无法使用新密码登录

使用SqlMembership provider重置密码后。我无法使用新密码登录。 下面是用于重置dbo.aspnet_Membership表密码的代码行。 密码已加密。 每次重置密码时,表中都会存储一个新的加密值。 但无法登录。 我的webconfig设置: C#代码: Membership user= Membership.GetUser(txtUser.Text); user.ResetPassword(txtNewPassword.Text); 任何人都可以帮我这个。为什么我还不能用新密码登录?

引用当前的RoleProvider实例?

在ASP.NET页面,存在HttpContext的模块或处理程序内部时,如何获取对当前RoleProvider实例的引用? 它是在调用IPrincipal.IsInRole(..)方法时用于授权的提供程序。 默认情况下,或者从配置,我的提供程序似乎是一个SqlRoleProvider实例,由我在运行应用程序时给出的错误。 我想在运行时检查提供程序的类型,以提供有关实际使用哪个提供程序的反馈。

为什么这会抓住所有块实际上并不是全部

代码非常简单—问题是groupPath字符串中有一个无效字符(确切地说是’/’)。 我想要做的事情(至少作为一个停止差距)是跳过DirectoryEntries我无法获得cn – 无论为什么。 但是,当我运行此代码时,catch块不会运行,而是我得到:服务器无法运行。 和未处理的System.Runtime.InteropServices.COMException。 为什么catch阻止不会捕获此exception。 try { using (DirectoryEntry groupBinding = new DirectoryEntry(“LDAP://” + groupPath)) { using (DirectorySearcher groupSearch = new DirectorySearcher(groupBinding)) { using (DirectoryEntry groupEntry = groupSearch.FindOne().GetDirectoryEntry()) { results.Add(string.Format(“{0}”, groupEntry.Properties[“cn”].Value.ToString())); } } } } catch { Logger.Error(“User has bad roles”); } 附加观察:代码实际上是在一个自定义的RoleProvider中,好奇的是,如果我在一个简单的winforms应用程序中引用这个提供程序,并使用相同的输入调用这个相同的方法,那么catch块就会完全按照它的设想执行。 我认为这表明有关.NETexception与COMexception的建议答案并不准确。 虽然我无法理解为什么从WebDev服务器执行时此代码不会被捕获

获得授权属性的许可?

我已经实现了自己的Authorize属性,并且我注意到在使用[Authorize]时它会查询以检查权限。 有没有什么方法可以获得该权限并在当前应用Authorize属性的控制器中使用它而无需重写和重新查询控制器中的代码?

具有租户特定角色的ASP.NET多租户应用程序

我们有一个多租户ASP.NET应用程序。 到目前为止,租户已经相互隔离,但现在我们有代理商管理多个租户,并希望能够通过一个用户帐户管理所有租户。 我正试图找出实现这一目标的最佳方法,希望对我们正在使用的现有技术没有太大的改变。 相关技术细节: 成员和角色的AspNetSqlMembershipProvider C#4.0(很快将是4.5) 表单身份validation aspx和MVC(v3)页面 假设有100个或更多租户,因此任何解决方案都需要支持 我相信这些要求与SQL Server的安全模型非常相似。 我们有一组登录,代表可以登录系统的所有用户。 用户应该能够被赋予一个或多个数据库(租户)的角色。 示例:用户Bob在公司A中具有管理员角色,但在公司B中只有用户角色。我们公司的员工也有“sysadmin”角色,允许我们访问任何租户以及创建/删除租户等专业管理权限等 我已经对各种库,框架等进行了大量研究,但我没有找到任何令人信服的证据表明其他库或框架将比我们现有的更好。 所以我现在正在考虑如何让Sql Membership provider做我想做的事情,除非有人能指出我更好的方向。 我也不确定我是否知道在此搜索的最佳条款。 我有2个选项我正在考虑: 只向会员提供者添加少量角色,并处理会员提供者之外的“当前用户在此租户中是否具有此角色”的所有问题。 成员资格提供程序将用于处理对系统的基本访问。 将租户特定角色添加到成员资格提供者。 我们将拥有(角色数)x(租户数)在系统中的总角色。 每个新租户都会向系统添加另一组角色,例如“租户A:管理员”,“租户A:用户”等。需要一些额外的表来管理关系以及可能需要一些自定义代码以确保访问权限从成员资格提供者请求正确的特定于租户的角色。 这些选项中的任何一个都不错吗 或者我应该到别处寻找支持吗?