问题标签 [membershipuser]

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 投票
1 回答
94 浏览

asp.net - 按 ID 获取 MembershipUser 列表?

我有一个系统需要向企业展示可以登录系统的员工名单。所以我需要按 ID 获取 MembershipUsers 列表。那可能吗?我所看到的只是成员资格的 GetAllUsers() 方法,但我真的认为这行不通。将有成千上万的用户,因为每个企业都有自己的员工名单,但我每次只需要其中的一小部分(每个企业可能大约 40 个)。仅仅为了再次查询特定子集而带回数千行似乎是一种严重的处理浪费。然而,循环遍历并单独获取每一个需要长达 8 秒!我当前的代码如下:

有什么东西可以让我一举获得我需要的所有用户(我也需要角色)?我错过了一些明显的东西吗?包含在 Membership 类中似乎是一种合乎逻辑的方法。

如果绝对没有办法一次抓住我需要的所有特定用户,谁能告诉我一些快速抓住他们的方法?我的循环是否做错了什么,导致需要很长时间才能获得用户?

谢谢!

0 投票
1 回答
215 浏览

c# - 即使电子邮件存储在数据库中,MembershipUser.Email 也会返回 null

我的问题是,使用 Membership.GetUser(username) 方法时,我无法访问用户的电子邮件。重置密码时需要它。我在 POST 请求中收到用户名。我的代码如下所示:

我确信我试图重置密码的用户将电子邮件存储在数据库中,但是当我想检索它时 user.Email 为空。

有人可以帮我解决这个问题吗?先感谢您。

0 投票
1 回答
112 浏览

asp.net - 在 MembershipProvider 初始化期间无法创建 MembershipUser?

在我的 MembershipProvider 自定义实现中,在 Initialize 方法期间,我构造了许多 MembershipUser 对象。MembershipUser 构造函数被赋予正在初始化的 MembershipProvider 的名称。问题是这个构造函数导致另一个 MembershipProvider 被递归地构造。

基本上,我用 MembershipUser 对象代表我的自定义成员提供程序中的用户,并且我想在初始化期间从磁盘加载保存的用户。

我知道我可以在初始化后实现延迟加载用户,但这需要检查每种方法。有什么我可以在独立于提供者的情况下创建 MembershipUsers 的地方吗?

0 投票
2 回答
104 浏览

c# - 检查和删除特殊字符和空格所需的正则表达式

我需要一个正则表达式来检查和删除特殊字符MembershipUser userName

当我第一次将站点设置为 beta 时,我没有考虑到特殊字符不是用于用户名的好方法,“在我的应用程序中”。

我在下面有一段模板代码,它没有正确编写,但给愿意帮助的人提供了一个良好的开端。

--我需要从用户名中删除所有特殊字符和空格,同时更新用户名。

当我说特殊字符时,我指的是 ~,`,!,@,#,$,%,^,&,*,(,),+,=,' ',;,:,,{,}。我需要检查当前用户的用户名,看看他们是否有任何这些类型的特殊字符,并将它们从该特定用户用户名中删除,并用“_”或“-”替换任何特殊字符。

我需要检查并确保任何现有用户名仅包含字母和数字,并且用户名不得以数字开头,并且必须以大写或小写字母开头。

--我目前正在使用下面的代码来确保首次创建用户帐户时用户名中只使用字母和数字。

截至目前,我需要user.Replace(regexpression,"-")清理现有的用户名。

0 投票
1 回答
1159 浏览

c# - MembershipUser.ChangePassword 始终返回 false

使用 System.Web.Providers.DefaultMembershipProvider 和 System.Web.Security.MembershipUser,我试图更改数据库中的用户密码。出于某种原因,无论我做什么, MembershipUser.ChangePassword(old, new) 都会返回 false 且没有错误。

在数据库中,与应用程序名称关联的 ApplicationID 是正确的,并且我的用户在 Memberships 和 Users 表中都附加了该 ApplicationID。就这一点而言,用户不为空,对象中的所有数据都是准确的。我在这里完全不知所措,任何帮助将不胜感激,因为没有其他来源能够帮助我。

配置文件:

方法: