2012-01-16 22 views
1

當在DotNetNuke 5.6.3站點中註冊爲新用戶時,用戶輸入的密碼將被忽略(不管它有多複雜 - 它當然符合系統要求),並創建一個安全但難看的密碼。如何在DotNetNuke 5.6.3中註冊時簡化生成的用戶密碼

兩個相關的問題:

  1. 爲什麼用戶想要的密碼會被忽略,取而代之的是自動生成的一個可能是什麼原因?
  2. 有沒有辦法告訴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" /> 

回答

3

我有這個同樣的問題,並通過同樣的籃球躍升。

我最終修改了DotNetNuke的默認成員資格提供程序。

1)下載的DNN 5.6.3源

2)打開主溶液中,導航到/library/providers/membershipproviders/ASPNetMembershipProvider/AMPNetMembershipProvider.vb線〜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源被掛鉤到顛覆。如果您修改核心,我建議您這樣做。
  • 我還建議在修改之前和之後插入''Begin OLAF ModificationsEND OLAF Modifications,這樣在幾個月內,當您轉到DNN 6時,您可以在DNN 6源中進行相同的修改通過在DNN 5.6.3源
  • 修改DNN源搜索OLAF Modifications是最後一搏的解決方案,但我相信它是在這種情況下,需要
+0

非常感謝您的解決方案(很高興知道我不是唯一的)!它有效(或分別)! – Olaf 2012-01-16 15:44:52

1

部分,我的問題的2已回答由hamlin11。我發現第1部分的解決方案(以防有人感興趣):

DesktopModules \ Admin \ Security \ User中存在隱藏的複選框。ascx命名爲'chkRandom',它在我的安裝中設置爲True,但同時不可見(不知道是什麼影響 - 奇怪的設置,用戶永遠不知道爲什麼她的密碼被隨機替換)。將其設置爲false可以解決問題。

+0

設置隨機密碼的功能僅在管理員創建用戶帳戶時可用。當用戶註冊自己時,使用隨機密碼是沒有意義的,因此隱藏起來。神祕的是盒子被如何檢查。我安裝了5.6.3並沒有這個問題,我對5.6.3代碼的回顧顯示只有1行設置了檢查值,並且它總是將其設置爲false,只有UI才能真正檢查複選框。 – ScottS 2012-01-16 19:58:08

+0

謝謝,這是有道理的。我不知道爲什麼,但aspx文件中的隨機密碼複選框已設置爲Checked =「True」。我會試着找出是誰做的(*如果它是我們團隊中的某個人),或者在安裝時設置爲True。 – Olaf 2012-01-16 20:55:54

+0

仔細查看,複選框在.ascx文件中默認選中。現在我不明白爲什麼我沒有在5.6.3的乾淨安裝上遇到同樣的問題。 – ScottS 2012-01-17 17:31:56

相關問題