Topcat:


MS MVP ASP.NET / IIS 2006~

翻譯工具

 

得獎Link


 

論壇/討論區:




友站推薦連結:

twMVC

中小企業支援網站 (SSB)

目前活動連結:

修練大會文章總攬:

VS2010
Office2010

計數器與網站工具

Free Page Rank Tool

語言學習

最新回應

在ASP.NET 2.0以後,有了一套的登入驗證與授權機制。(請參考小喵這篇【ASP.NET的驗證與授權機制(動態錄影說明)】)

其中預設的密碼必須要英數混合,並且需要一個非英數的特別符號,而且至少要有7位。這樣的密碼才能吃得進去,當然這樣的機制是為了要增加密碼的安全性,避免別人用機器人程式來猜出您的密碼。不過如果內部的系統想要簡單一些,其實也可以透過設定Web.Config的方式來改變他的規則。

預設,在Machine.Config中,有這樣的一段設定

<membership>
    <providers>
        <add name="AspNetSqlMembershipProvider"
            type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
            connectionStringName="LocalSqlServer"
            enablePasswordRetrieval="false"
            enablePasswordReset="true"
            requiresQuestionAndAnswer="true"
            applicationName="/"
            requiresUniqueEmail="false"
            passwordFormat="Hashed"
            maxInvalidPasswordAttempts="5"
            minRequiredPasswordLength="7"
            minRequiredNonalphanumericCharacters="1"
            passwordAttemptWindow="10"
            passwordStrengthRegularExpression="" />
    </providers>
</membership>

其中的這些屬性,參考以下的內容(或者參考MSDN的說明)

名稱說明
ApplicationName取得或設定應用程式的名稱。
EnablePasswordReset取得值,指出目前成員資格提供者是否設定為允許使用者重設密碼。
EnablePasswordRetrieval取得值,指出目前成員資格提供者是否設定為允許使用者擷取密碼。
HashAlgorithmType演算法的識別項,用於雜湊密碼。
MaxInvalidPasswordAttempts取得鎖定成員資格使用者以前,所允許的無效密碼或密碼解答嘗試次數。
MinRequiredNonAlphanumericCharacters取得有效密碼中必須存在的最小特殊字元數。
MinRequiredPasswordLength取得密碼所需的最小長度。
PasswordAttemptWindow取得鎖定成員資格使用者之前,所允許無效密碼或密碼解答最高嘗試次數的分鐘數。
PasswordStrengthRegularExpression取得用來評估密碼的規則運算式。
Provider取得應用程式預設成員資格提供者的參考。
Providers取得 ASP.NET 應用程式的成員資格提供者集合。
RequiresQuestionAndAnswer取得值,指出預設成員資格提供者是否要求使用者解答密碼問題,以便重設及擷取密碼。
UserIsOnlineTimeWindow指定使用者最後活動日期/時間戳記之後的分鐘數,在其間使用者會視為在線上。

 

如果有需要將該機器上的所有Web專案都修改,可以直接修改這個檔案。不過小喵建議,還是針對個別的來修改比較好。

如果要修改單一站台或者單一Web應用程式,那麼可以在該站台或者該Web應用程式的Web.Config中,加上自己的修改如下:

<membership>
    <providers>
            <remove name="AspNetSqlMembershipProvider" />
        <add name="AspNetSqlMembershipProvider"
            type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
            connectionStringName="LocalSqlServer"
            enablePasswordRetrieval="false"
            enablePasswordReset="true"
            requiresQuestionAndAnswer="true"
            applicationName="/"
            requiresUniqueEmail="false"
            passwordFormat="Hashed"
            maxInvalidPasswordAttempts="5"
            minRequiredPasswordLength="6"
            minRequiredNonalphanumericCharacters="0"
            passwordAttemptWindow="10"
            passwordStrengthRegularExpression="" />
    </providers>
</membership>

(假設要修改為最少6個字,不必輸入特殊字元,只需英數混合)

(請注意,一定要加上<remove name="AspNetSqlMembershipProvider" />,否則會有AspNetSqlMembershipProvider已經添加的錯誤訊息!!)

 

參考:

http://msdn.microsoft.com/zh-tw/library/system.web.security.membership_properties(VS.80).aspx

http://www.zzsky.cn/build/content/693.htm

 


以下是簽名:

  • 歡迎轉貼本站的文章,不過請在貼文主旨上加上【轉貼】,並在文章中附上本篇的超連結與站名【topcat姍舞之間的極度凝聚】,感恩大家的配合。
  • 如果您覺得此篇對您或者對大家有幫助,敬請按一下【推薦】,感恩!!  ^_^

Microsoft MVP
Microsoft MVP ASP/ASP.NET


topcat
Blog:http://www.dotblogs.com.tw/topcat
 


DotBlogs Tags: ASP.NET

關連文章

[ASP.NET]TreeView使用拖拉放的方式更改樹的結構

學習ASP.NET 2.0會員機制三部曲

[IE8]如何開發自己網站的視覺化預覽的加速器(Accelerator)初體驗

[IE8]開發自己站台的視覺化搜尋(Visual Search)

回應

  • # re: 修改ASP.NET內建驗證機制的密碼規則 by szn

    minRequiredNonalphanumericCharacters="0"
    這行=0
    就是把符號的最小需求改成0個嗎??

    2009/6/15 下午 11:49 | 回覆

  • # re: 修改ASP.NET內建驗證機制的密碼規則 by topcat

    to szn :

    minRequiredNonalphanumericCharacters="0"
    把特殊符號至少個數改為0個

    2009/6/16 上午 09:31 | 回覆

登入後使用進階評論

Please add 7 and 2 and type the answer here: