问题标签 [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 回答
1995 浏览

asp.net - AspNetSqlMembershipProvider 和 PasswordRecovery 控件

我的场景是我有一个 asp.net 2.0 应用程序 web 应用程序,它的 AspNetSqlMembershipProvider 属性为:

enablePasswordRetrieval="false" 和 passwordFormat="Hashed"

但是现在需要将未加密的用户密码存储为明文并将其显示给超级用户。我通过将 AspNetSqlMembershipProvider 属性更改为:

enablePasswordRetrieval="true" 和 passwordFormat="Clear"

问题在于 PasswordRecovery 控件的行为方式。根据我的阅读,它会检查 AspNetSqlMembershipProvider 标记的属性,如果 enablePasswordRetrieval="true" 和 passwordFormat="Clear" 它将尝试检索密码,当密码仍然有效地存储为散列密码时,这会导致问题。当 AspNetSqlMembershipProvider 属性为 enablePasswordRetrieval="true" 和 passwordFormat="Clear" 时,是否有任何方法可以强制 PasswordRecovery 控件重置而不检索密码?

很抱歉冗长的解释,所有帮助/指针一如既往地非常感谢。谢谢你。

0 投票
3 回答
377 浏览

authentication - 考虑放弃编写自定义成员和角色提供程序的想法。意见?

我有一个在 ASP.NET 中构建的 Web 应用程序,它具有以下安全要求:

  1. 必须能够与将唯一密钥传回应用程序以指示用户已通过第三方站点登录的主身份验证方案集成。
  2. 必须能够使用现有的用户/角色表。
  3. 如果用户不是第三方站点的成员,则可以使用表单身份验证并允许用户通过单独的登录页面登录。

我尝试自定义 SQL 角色和成员资格提供程序,但遇到了问题,特别是有一个强类型的 MembershipUser 对象,它有一个 uniqueIdentifier (providerKey) 并且没有空间容纳我自己的自定义键集(有将是两个)识别用户。

我应该放弃我的自定义会员提供程序实施而只使用 cookie/session 吗?我真的很想使用内置功能,但它似乎不可行。

0 投票
1 回答
1244 浏览

session - 将自定义用户信息存储在身份验证票证中,而不是成员资格提供程序中

我一直在研究实现一个自定义的基于 SQL Server 的成员资格提供程序,我的问题之一是membershipUserObject 是在 GUID 上键入的。由于我使用现有的 ID 作为角色和用户数据的键,这提出了一个有趣的问题。

如果我想在 Web 会话中保留我自己的 ID,而不需要经常往返于数据库,我希望您对使用哪个选项(或者是否有其他我没有考虑过的选项)发表意见。我知道,默认情况下,登录控件会使用成员资格对象的用户名创建一个表单身份验证 cookie。所以,我可以:

  1. 实现登录控件的 Logging_In 方法,手动将我的字段添加到身份验证 cookie

if (Membership.ValidateUser(Login1.UserName, Login1.Password)) { FormsAuthenticationTicket ticket = new FormsAuthenticationTicket( 1, Login1.UserName, DateTime.Now, DateTime.Now.AddMinutes(30), Login1.RememberMeSet,

"一些自定义数据想要存储在票证中......", // 用户数据,在本例中为角色 FormsAuthentication.FormsCookiePath);

字符串哈希 = FormsAuthentication.Encrypt(ticket); HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, hash);

if (ticket.IsPersistent) cookie.Expires = ticket.Expiration;

Response.Cookies.Add(cookie);

  1. 创建一个自定义 MembershipUser 对象,该对象继承自 MembershipUser 并提供我的额外属性。我仍然必须以某种方式坚持它(在会话中?eww ..)

  2. 创建一个包含额外字段的自定义配置文件提供程序并将其缓存在会话中。不过,对于我实际缓存的少数字段,这似乎有点矫枉过正。

这里的最佳做法是什么?我已经阅读了无数文章,并且表单票中的额外数据似乎是迄今为止最好的。

0 投票
1 回答
852 浏览

c# - 在自定义角色提供者实现中忽略 ProviderUserKey

我没有使用 MembershipUser 对象中的 ProviderUserKey,因为我的角色数据库有它自己的 ID。

如果我使用 C#,如何调用 membersuser 构造函数以便它创建没有此键的用户?

不向提供者提供此密钥有什么影响?ProviderUserKey 是否成为 FormsAuthentication cookie 中 Principal 对象的一部分?

0 投票
2 回答
289 浏览

asp.net - MembershipUser 构造函数需要可能为空的 dateTime 字段

MemberShipUser 构造函数需要像 lastLoginDate 这样的 dateTime 字段,它在数据存储中可能为 null。

但是,当我从存储中检索数据并为参数传递 null 时,我收到一个错误,即它不能为 null。

我该如何解决这个问题?

0 投票
1 回答
1062 浏览

asp.net - ASP.Net 成员身份验证手动创建的用户

我正在使用membership.creatuser() 在我的asp.net 用户表中手动创建用户。是否有一种简单的方法可以测试以确保在我创建帐户后创建帐户并且/或者有效?

我基本上想自动登录到该站点,然后如果成功与否则返回?

任何链接或想法将不胜感激。

谢谢

0 投票
1 回答
9595 浏览

asp.net - 使用 SqlMembershipProvider 禁用帐户锁定

如何禁用SqlMembershipProvider的帐户锁定功能?

MaxInvalidPasswordAttempts属性的 MSDN 文档未指定如何禁用它。如果找不到正确的方法,我会将 maxInvalidPasswordAttempts 属性设置为 int 的最大值,这可以有效地实现相同的结果。

我很清楚禁用帐户锁定不是最好的主意,但我需要在短期内实现这一目标。

0 投票
3 回答
743 浏览

asp.net - ASP.NET:对 ASP.NET 成员资格提供程序的完全控制

我有一个使用内置 ASP.NET 成员资格提供程序的应用程序。有两个角色(管理员和员工)。我希望管理员能够查看当前员工列表、添加或删除员工以及重置密码。到目前为止,我发现的信息很少,但 Membership.Provider.GetAllUsers 看起来很有希望。有什么办法可以在 GridView 中显示列表吗?

至少,我需要能够通过站点添加和删除用户。

0 投票
1 回答
191 浏览

asp.net - 会员从 ID 切换到电子邮件

目前我有一个使用唯一 ID 登录的站点(asp.net 3.5)。如果可能,我将需要将其切换为使用电子邮件。我将创建所有新帐户,这样我就可以清除会员表并导入所有用户信息。

我们正在从部门的通用登录切换到个人帐户。

任何正确方向的链接或指针将不胜感激。

0 投票
2 回答
1568 浏览

c# - 连续调用 WCF 服务返回“每个套接字地址(协议/网络地址/端口)通常只允许使用一次 127.0.0.1:10111”

我开发了一个小混搭网站。这个网站是完整的社区。因此,当用户进入 Community.aspx 页面时,他/她将看到社区成员的加入日期、评论数、姓名等。和 ofc 分页也是如此。每页大约有 15 个用户。现在我的问题是我的网站上有两种类型的用户“传统用户”和“开放 ID”用户。Ofc 我在 Asp 中定义了 2 个角色。网络成员即“OpenIDUser”和“User”。

好的!!!

现在,当用户单击 Community.aspx 时,将创建用户列表并返回前 15 个用户。但是对于要创建的这个用户列表,有很多Roles.IsUserInRole("Username","RoleName")检查来查看哪些用户是哪些用户,因为现在要按字母顺序对用户列表进行排序。您必须小心所有以 http://identifier.username任何开头的 OPEN ID 用户。所以我做了很多 Asp .Net Membership Service Calls Membership.GetUser Roles 等等……

现在通常这不会成为问题,但是我已将 MemberShip 服务合并到 WCF 中。这样做的原因是,在这个社区中,我将拥有很多子域(每个“站点”都有一个子域),而我只想使用 1 个数据库来完成所有这些。

因此,我认为通常情况下,如果您获得 500 多个会员资格。无论如何,这就是 100%。但是,一旦您将 .NET Membership 引入 WCF 并将每个 Membership.Whatever 方法转换为 WCF 方法。每次加载页面时,您有 500 多个 WCF 调用。

我认为这就是发生错误的原因。