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

如何简化在DotNetNuke 5.6.3中注册时生成的用户密码,dotnetnuke,Dotnetnuke,在DotNetNuke 5.6.3网站中注册为新用户时,用户输入的密码将被忽略(无论多么复杂-它肯定满足系统要求),并创建一个安全但丑陋的密码 两个相关问题: 用户想要的密码被忽略并被自动生成的密码替换的原因可能是什么 有没有办法告诉DotNetNuke创建一个不太安全(因此也不那么难看)的密码,可能只是字母,省略特殊字符(这是客户的要求,所以请不要在网上讨论安全;-) web.config中的AspNetSqlMembershipProvider设置如下: <add name="AspN

在DotNetNuke 5.6.3网站中注册为新用户时,用户输入的密码将被忽略(无论多么复杂-它肯定满足系统要求),并创建一个安全但丑陋的密码

两个相关问题:

  • 用户想要的密码被忽略并被自动生成的密码替换的原因可能是什么
  • 有没有办法告诉DotNetNuke创建一个不太安全(因此也不那么难看)的密码,可能只是字母,省略特殊字符(这是客户的要求,所以请不要在网上讨论安全;-)
  • 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" />
    

    我也遇到了同样的问题,也经历了同样的困难

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

    1) 下载DNN 5.6.3源代码

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

    3) 编辑函数
    Public重载将函数GeneratePassword(ByVal长度为整数)重写为字符串

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

    5) 编撰

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

    注释

    • 我使用NewGUID()是因为它混合了字母和数字,我的用户是这样的,任何标点符号都会抛出它们
    • 我把我的DNN源挂到subversion上了。如果修改核心,我建议这样做
    • 我还建议在修改之前和之后插入
      “开始OLAF修改
      结束OLAF修改
      ,以便在几个月后,当您移动到DNN 6时,可以通过在DNN 5.6.3源中搜索
      OLAF修改
      在DNN 6源中进行相同的修改
    • 修改DNN源是最后的解决方案,但我认为在这种情况下是必需的

    我也遇到了同样的问题,也经历了同样的困难

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

    1) 下载DNN 5.6.3源代码

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

    3) 编辑函数
    Public重载将函数GeneratePassword(ByVal长度为整数)重写为字符串

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

    5) 编撰

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

    注释

    • 我使用NewGUID()是因为它混合了字母和数字,我的用户是这样的,任何标点符号都会抛出它们
    • 我把我的DNN源挂到subversion上了。如果修改核心,我建议这样做
    • 我还建议在修改之前和之后插入
      “开始OLAF修改
      结束OLAF修改
      ,以便在几个月后,当您移动到DNN 6时,可以通过在DNN 5.6.3源中搜索
      OLAF修改
      在DNN 6源中进行相同的修改
    • 修改DNN源是最后的解决方案,但我认为在这种情况下是必需的

    • 我问题的第二部分已经由哈姆林11回答了。我找到了第1部分的解决方案(以防万一有人感兴趣):


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

      我问题的第2部分已由hamlin11回答。我找到了第1部分的解决方案(以防万一有人感兴趣):


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

      非常感谢您的解决方案(很高兴知道我不是唯一的一个)!它起作用了(或者将分别起作用)!非常感谢您的解决方案(很高兴知道我不是唯一一个)!它起作用了(或者将分别起作用)!只有管理员创建用户帐户时,才能设置随机密码。当用户为自己注册时,使用随机密码毫无意义,因此是隐藏的。神秘之处在于盒子是如何被选中的。我安装了5.6.3,没有这个问题,我对5.6.3代码的检查只显示了一行设置了选中值,它总是将其设置为false,只有UI可以实际选中复选框。谢谢,这很有意义。我不知道为什么,但是在aspx文件中,随机密码复选框被设置为Checked=“True”。我将尝试找出是谁做的(如果是我们团队中的某个人),或者在安装时是否已将其设置为True。仔细查看,.ascx文件中默认选中该复选框。现在我不明白为什么我在5.6.3的干净安装上没有遇到同样的问题。设置随机密码的功能只有在管理员创建用户帐户时才可用。当用户为自己注册时,使用随机密码毫无意义,因此是隐藏的。神秘之处在于盒子是如何被选中的。我安装