问题标签 [membership]

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.

0 投票
3 回答
11510 浏览

asp.net - ASP.NET 应用程序通过 Windows 身份验证或表单身份验证对 Active Directory 或 SQL 进行身份验证

我正在编写一个需要多种形式的身份验证的应用程序。

应用程序需要支持对 Active Directory 的身份验证,但如果用户不在 Active Directory 中,则能够故障回复到 SQL 成员资格提供程序。我们可以根据提供的用户名在代码中处理 SQL Provider 的失败,因为用户名的格式与 Active Directory 用户名的格式不同。

这甚至可能吗?我的意思是,我可以使用会员资格并同时使用 ActiveDirectoryMembershipProvider 和 SqlMembershipProvider 还是我必须自己推出?

另一个额外增加的复杂性是,我想根据 Windows 身份验证自动将我的内部用户身份验证回 AD,但对不在我们内部网络上的用户或使用 SQL 提供程序的用户使用表单身份验证。

这些很可能是单独的服务器,一个是内部的,另一个是外部的,所以我有很多计划要做来弄清楚数据复制,以及如果 AD 用户访问外部服务器等,我将如何对其进行身份验证。

当我开始走这条路时,我想知道那里有什么想法。如果我不自己动手,我想做的事情甚至可能吗,或者有没有办法将它们融合在一起?


谢谢回复。

我最初问的原因是因为我能够在大约 7 年前使用 IIS 进行身份验证,然后将凭据传递回 Lotus Domino 服务器 Web 应用程序,从而使这个特定的 senerio 工作。如果用户未通过 Windows 身份验证/ISS 进行身份验证,则 Domino 将处理身份验证。这就是我在这里想要做的,但真的想不出一种让它在 IIS 中工作的方法。

至于您的其余答复,我认为您正在走我需要采取的方式。我已经考虑过这一点,并在我的脑海中反复折腾。无论如何,两台服务器上的应用程序都会有所不同,因为无论如何访问外部服务器上的数据都会受到限制。事实上已经有很多不同了,我可能只是将它们视为两个应用程序,因此不需要在同一个应用程序中使用两种类型的身份验证。

我正在考虑为外部服务器编写自己的身份验证/登录窗口的想法,如果用户尝试在外部服务器上使用他们的 AD 凭据登录,我将能够检测到并将它们重定向到内部服务器。如果他们不在本地网络或 VPN 中,他们将根本无法访问。这部分仍然有一些思考过程,所以我不确定。

作为一个额外的想法 - 有没有办法将足够的 AD 提取到 SQL 数据库中,以允许我使用他们的 AD 凭据从外部服务器对 SQL 数据库的用户进行身份验证,而不会产生任何安全问题?我希望我清楚地输入我的想法......

再次感谢!

蒂姆

0 投票
4 回答
20171 浏览

.net - 在 ASP .Net 自定义成员资格提供程序中锁定用户

我必须为我当前的 ASP .Net 项目创建一个自定义成员资格提供程序,以适应我们的数据库模式,并且在配置它以锁定用户时遇到问题,如果用户密码错误三次,如支持标准提供者。

这是我需要自己实现的东西,还是应该得到固有的支持?

我没有专门处理它的代码(并且似乎没有一个接口成员专门处理它),但是如果我需要自己实现它,我该如何通知用户他们被锁定了?我是否需要在 ValidateUser 中引发某种异常?

解决方案

遗憾的是,我无法标记两个答案,Dave R 提供的链接深入了解了会员的工作原理,而 Zhaph 指出的正是我最终要做的,处理自定义会员提供程序中的锁定逻辑。

然后,我通过使用 Login 控件的 LoginError 事件来处理错误情况,并在那里签入以查看用户是否被锁定以显示适当的错误消息。

0 投票
2 回答
1959 浏览

php - ExpressionEngine 多站点管理器和成员组

我正在寻找一些链接,以获取有关 EE 如何处理与 MSM 相关的成员组的更多信息。

就我而言,我有两个会员网站。一般来说,这两个站点服务于同一群人,因此 MSM 共享成员数据库这一事实对我有利。我不清楚的是如何管理不同的访问级别组合,即:

  1. 站点 A 成员但不是站点 B
  2. 站点 B 的成员,但不是站点 A
  3. 站点 A 和站点 B 的成员

因为,正如我在其他论坛帖子中所读到的,您不能将一个成员分配给多个组,我显然必须在上述配置中创建 3 个成员组并相应地分配用户。至少在模板中我可以检查组 1|3 的成员资格……对吗?

我们计划进一步将我们的会员资格划分为单个站点内的不同访问级别。

例如,

  1. 完全访问站点 A
  2. 访问站点 A 的单月内容
  3. 访问一个月的内容 + 网络工具

如果我必须创建管理上述每种组合的组,除了访问站点 B 的访问级别之外,这将很快变得无法使用。

听起来我必须直接在模板中使用自定义 PHP 代码来管理我在 EE 之外的访问级别。

有没有人有这种事情的经验?

最好根本不使用 MSM,而是将每个站点作为单独的安装进行管理,并具有单独的成员组?(这会挫败我首先使用 EE 的一些原因,即在站点之间共享博客内容)

指向外部资源或文档的链接会有所帮助。(是的,我确实先检查了文档,但可能遗漏了一些东西……眨眼)

谢谢!

0 投票
6 回答
10263 浏览

asp.net - 如何测试 ASP.NET 成员密码是否满足配置的复杂性要求?

我有一个 ASP.NET 页面,它允许管理员更改用户的密码。由于管理员不知道用户的密码,我正在使用以下内容:

- 正如这个SO 问题所描述的。

如果新密码不符合 web.config 文件中配置的复杂性要求,则密码将被重置,但不会更改为所需的密码。如果新密码不满足复杂性要求,则根本不应该更改密码。

是否有一种简单的方法可以根据复杂性要求测试新密码?

0 投票
3 回答
639 浏览

asp.net - 如何在 ASP.Net 应用程序中设置 Principal

我正在为客户编写一个网络应用程序。用户将拥有一个一次性密钥,他们将使用该密钥最初向应用程序标识自己。一旦应用程序验证密钥有效,它会将他们带到一个页面,在那里他们可以创建一个普通帐户以用于所有后续登录。只有在输入密钥后才能访问创建帐户页面,否则不应访问。即,使用普通帐户登录的用户不应访问它。这是使用自定义会员提供程序的 asp.net 3.0。

我的计划是根据密钥创建一个临时帐户并使用该帐户对用户进行身份验证。这允许他们访问创建用户页面(受位置标签保护),他们可以在其中创建正式帐户。然后我用他们的新帐户对他们进行身份验证并删除临时帐户。流程是:用户进入他们输入密钥的页面。如果密钥有效,我会创建临时帐户,调用 FormsAuthentication.SetAuthCookie,然后重定向到创建帐户页面。这一切都有效,虽然它看起来有点复杂。

问题是任何经过身份验证的用户都可以使用创建用户页面。我只希望它在输入密钥和创建正式帐户之间的时间内可用。所以我想我会为临时帐户创建一个特殊角色,并让 create-user 页面只能由该角色访问,而不能由其他角色访问。我创建了自己的具有特殊角色的 Principal 对象,并尝试在对临时帐户进行身份验证时进行设置,但无法使其正常工作。

我真的希望我不必为此编写自定义角色提供程序。

我怎样才能使这项工作?一定有更简单的方法!

0 投票
1 回答
863 浏览

asp.net - ASP.NET: Does implementing a custom MembershipProvider class needs you to implement a custom Membership class too?

I have this question: "Does implementing a custom MembershipProvider class needs you to implement a custom Membership class too?" I am a bit confused about implementing a custom membership framework on ASP.NET.

I dont have sample classes to show you but what if the previous website used a database or schema that is different to the ones ASP.NET uses?

Many thanks!

0 投票
9 回答
6979 浏览

asp.net - 为什么要使用 ASP.NET Membership 安全模型?

我现在正在更新我的网站,并认为如果我要更新我的登录/安全模式,现在是个好时机。

我已经查看了包含在 ASP.NET 中的 Membership 模型,但我不相信它会提供除了其他 .NET 开发人员熟悉之外的任何好处。

似乎有相当多的文档,但很少讨论为什么值得付出努力。

任何人都可以对此有所了解吗?

0 投票
2 回答
8213 浏览

asp.net - 使asp.net中的某些页面需要登录的最佳方法是什么?

我正在使用一些页面需要身份验证的 asp.net 网站项目。我正在使用 asp.net 会员资格。

我读了一些答案。例如,在文件夹中创建所有这些页面并创建描述权限的内部 web.config。这是解决问题的一种方法,但我需要更可修复和更有效的方法。

0 投票
1 回答
641 浏览

asp.net - ASP Membership 无法处理 web.config 中的加密连接字符串

在我们拥有的测试网络服务器上,我们的一种网络方法遇到了错误。主要错误是:

进一步查看堆栈跟踪会提供更多信息:

似乎成员资格提供者正试图为成员资格调用查找连接字符串。在未能找到此条目时,它尝试创建一个新的本地成员数据库,但由于权限错误而未能执行此操作。

我们仔细检查了连接字符串,虽然它们被加密了,但它们看起来还不错。然后,我们保存了连接字符串部分解密的配置 - 调用现在有效!

我们知道连接字符串是正确的,因为其他服务方法工作正常。更奇怪的是,会员资格的某些方面似乎与加密一起工作。

有没有人见过这个或者知道如何使用加密的连接字符串来实现这个?

0 投票
1 回答
1504 浏览

asp.net - 通过将“userid”类型更改为整数来自定义 asp.net 成员资格

在 asp.net 成员中,是否可以将“userid”类型从“uniqueidentifier”更改为“integer”?怎么做?