ASP.NET默认成员身份和角色提供程序API

本文关键字:程序 API 角色 NET 默认 成员 身份 ASP | 更新日期: 2023-09-27 18:24:58

假设我的web.config中有以下内容:

<profile enabled="true">
<providers>
...
<add name="Phone" type="System.String" defaultValue="" />

我希望这个变量是unique,就像在sql server中指定一个唯一的一样,这意味着所有会员用户都可以有一个唯一电话号码。

这可能吗?我已经搜索了一段时间来寻找解决方案,但我能找到的唯一解决方案是创建一个新表来存储唯一的数字。

有没有一种方法可以使用ASP.NET 4.0为配置文件属性指定唯一属性?非常感谢。

ASP.NET默认成员身份和角色提供程序API

要做到这一点,最简单的方法可能是创建一个由UserId索引的新表,将Phone作为自己的一列,并具有唯一的索引,而不是试图将其放入Profile模型中。

不能通过向配置文件中添加xml元素来向默认配置文件提供程序添加属性。您需要实现具有所需属性的客户Membership User类型。

编辑

基于您创建的配置生成的Membership User没有可使用的数据库架构支持。所有属性都被序列化并存储在一个BLOB列中,这意味着您不能使它们成为必需的,不能基于它们创建索引,也不能在SQL中直接针对它们进行查询。我强烈鼓励您实现自己的User&提供程序,以便您可以控制其持久性和行为。