在ASP.NET 2.0以後,有了一套的登入驗證與授權機制。(請參考小喵這篇【ASP.NET的驗證與授權機制(動態錄影說明)】)其中預設的密碼必須要英數混合,並且需要一個非英數的特別符號,而且至少要有7位。這樣的密碼才能吃得進去,當然這樣的機制是為了要增加密碼的安全性,避免別人用機器人程式來猜出您的密碼。不過如果內部的系統想要簡單一些,其實也可以透過設定Web.Config的方式來改變他的規則。
在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姍舞之間的極度凝聚】,感恩大家的配合。
- 小喵大部分的文章會以小喵熟悉的語言VB.NET撰寫,如果您需要C#的Code,也許您可以試著用線上的工具進行轉換,這裡提供幾個參考
Microsoft MVP Visual Studio and Development Technologies (2005~2019/6) | topcat Blog:http://www.dotblogs.com.tw/topcat |