本文共 1604 字,大约阅读时间需要 5 分钟。
新用户的用户名。
新用户的密码。
新用户的电子邮件地址。
新用户的密码提示问题。
新用户的密码提示问题答案。
是否允许验证新用户。
唯一标识 SQL Server 数据库中成员资格用户的 。
一个 值,指示是否成功创建用户。
用于新创建用户的 对象。如果没有创建用户,此方法将返回 空引用(在 Visual Basic 中为 Nothing)。
新用户由已配置的 进行标识。
如果 属性设置为 true,并且为 email 参数指定 空引用(在 Visual Basic 中为 Nothing) 或空字符串 (""),则用户创建将失败。如果 RequiresUniqueEmail 属性设置为 true 并且为 email 参数指定的值与数据库中 ApplicationName 的现有用户的电子邮件地址重复,用户创建也将失败。
用户名的最大长度为 256 个字符。电子邮件地址的最大长度为 256 个字符。明文形式的密码,或者密码在哈希计算或加密后,最大长度为 128 个字符。
其他将导致用户创建失败的情况:
password 参数为 空引用(在 Visual Basic 中为 Nothing) 或是修整后变为空字符串。
password 参数的长度小于 属性中指定的值。
password 参数中的非字母字符数小于 属性中指定的值。
password 参数未通过 属性中的正则表达式的验证。
自定义密码验证代码在执行 事件的过程中取消了用户创建。
属性为 true 并且 passwordAnswer 参数为 空引用(在 Visual Basic 中为 Nothing) 或修整后的空字符串。
passwordAnswer 参数是空字符串。
passwordAnswer 参数的长度大于 128 个字符。
RequiresQuestionAndAnswer 属性为 true 并且密码提示问题为 空引用(在 Visual Basic 中为 Nothing) 或修整后的空字符串。
passwordQuestion 参数是空字符串。
passwordQuestion 参数的长度大于 256 个字符。
providerUserKey 参数设置为非 System.Guid 类型的对象。
providerUserKey 参数与现有用户键值重复。
username 参数与现有用户名重复。
删除所有字符串参数值的前导和尾随空格。
在已有的项目DNNDEMO中添加一个testCreateUsers.aspx文件,然后将上面的代码粘贴过去。
在web.config中将 设置为true,因为默认的DNN中的web.config这个属性是false。
点击创建以后去数据库中查看就能找到我们创建的用户了,不过在Users表中没有这个用户,只在aspnet_Membership表中找到了创建的用户。
下面是通过reflector得到的DNN使用SqlMembershipProvider的CreateUser的源代码:
这样操作知识简单的创建用户,跟在DNN注册界面上注册用户并不相同,注册用户比创建用户更加麻烦。
本文转自xwdreamer博客园博客,原文链接:http://www.cnblogs.com/xwdreamer/archive/2010/01/01/2297179.html,如需转载请自行联系原作者