如何在DotNetNuke 5.6.3中简化注册时生成的用户密码

时间:2012-01-16 12:40:46

标签: dotnetnuke

在DotNetNuke 5.6.3网站中注册为新用户时,用户输入的密码被忽略(无论多么复杂 - 它当然符合系统要求)和安全但丑陋密码已创建。

两个相关问题:

  1. 用户所需密码被忽略并被自动生成的密码取代的原因是什么?
  2. 有没有办法告诉DotNetNuke创建一个不太安全(因此不那么难看)的密码,可能只是字母,省略特殊字符(这是客户要求,所以请不要讨论网上的安全性;-))< / LI>

    web.config中的AspNetSqlMembershipProvider设置如下:

    <add name="AspNetSqlMembershipProvider" 
    type="System.Web.Security.SqlMembershipProvider" 
    connectionStringName="SiteSqlServer" 
    enablePasswordRetrieval="true" 
    enablePasswordReset="true" 
    requiresQuestionAndAnswer="false" 
    minRequiredPasswordLength="7" 
    minRequiredNonalphanumericCharacters="0" 
    requiresUniqueEmail="false" 
    passwordFormat="Encrypted" 
    applicationName="DotNetNuke" />
    

2 个答案:

答案 0 :(得分:3)

我遇到了同样的问题并跳过了同样的箍。

我最终修改了DotNetNuke的默认会员资格提供程序。

1)下载DNN 5.6.3源

2)打开主解决方案,导航到/library/providers/membershipproviders/ASPNetMembershipProvider/AMPNetMembershipProvider.vb Line~826

3)编辑功能Public Overloads Overrides Function GeneratePassword(ByVal length As Integer) As String

4)将其内容替换为:Return Guid.NewGuid().ToString().Substring(0, 7)或您希望使用的密码生成代码。

5)编译

6)将生成的DLL复制到已部署的DNN安装

备注

  • 我使用NewGUID(),因为它混合了字母和数字,我的用户就是这样,任何标点符号都会抛出它们
  • 我将我的DNN源连接到subversion。如果您修改核心
  • ,我建议这样做
  • 我还建议您在修改之前和之后插入''Begin OLAF ModificationsEND OLAF Modifications,以便在您迁移到DNN 6的几个月内,您可以在DNN 6来源中进行相同的修改通过在DNN 5.6.3源中搜索OLAF Modifications
  • 修改DNN源是最后的解决方案,但我认为在这种情况下需要它

答案 1 :(得分:1)

我的问题的

第2部分已由 hamlin11 回答。我发现第1部分的解决方案(以防有人感兴趣):

在DesktopModules \ Admin \ Security \ User.ascx中有一个名为'chkRandom'的隐藏CheckBox,在我的安装中设置为True,但同时不可见(不知道是什么影响了 - 奇怪的设置,用户永远不知道为什么她的密码会被随机密码替换掉。将此设置为false可解决问题。