如何快速查詢 web.config 中各項設定參數的預設值

分享到噗浪!

昨天有朋友問我一個 ASP.NET 的問題,他說他利用 FormsAuthentication.Authenticate 方法驗證使用者帳號、密碼,而且在 web.config 中設定了使用者的登入帳號、密碼,密碼直接用「明碼」表示,但卻怎樣都無法登入成功,這時我就想到應該是他忽略 web.config 中 credentials 的預設屬性值。

他的 web.config 中的 credentials 設定如下:

<configuration>
   <system.web>
      <authentication mode="Forms">
         <forms loginUrl="/login.aspx">
            <credentials>
               <user 
                  name="UserName1" 
                  password="PlainTextPassword"/>
            </credentials>
         </forms>
      </authentication>
   </system.web>
</configuration>

他忽略了 credentials 中的 passwordFormat 屬性預設值為 SHA1 編碼,並不是 Clear (明碼),所以才會永遠登入失敗。

像是這類的預設值,我通常不會上 MSDN 查詢,而是直接開啟 .NET Framework 中所附的一個 web.config 預設說明檔,用這個檔案來查詢各種參數的預設值非常的快速,不用上網就能查,而且每台有安裝 .NET Framework 的電腦都有。預設檔案路徑如下:

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\web.config.comments

這個檔案除了可以看見 web.config 的所有預設屬性值外,還可以看見所有屬性可能出現的所有選項值,只要你對該設定有一定程度的瞭解,通常就可以一目了然的立即反應你可以設定的值,不用每次都上網閱讀龐雜的 MSDN 文件。如下圖示:

web.config.comments 除了可以看見 web.config 的所有預設屬性值外,還可以看見所有屬性可能出現的所有選項值,只要你對該設定有一定程度的瞭解,通常就可以一目了然的立即反應你可以設定的值,不用每次都上網閱讀龐雜的 MSDN 文件

以我朋友問我的問題來說,只要將 web.config 修改成如下的設定即可:

<configuration>
   <system.web>
      <authentication mode="Forms">
         <forms loginUrl="/login.aspx">
            <credentials passwordFormat="Clear">
               <user 
                  name="UserName1" 
                  password="PlainTextPassword"/>
            </credentials>
         </forms>
      </authentication>
   </system.web>
</configuration>

相對的,除了 web.config.comment 可以進行查閱外,對於整台主機預設的 machine.config.comments 設定檔也可以在 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG 目錄下找到,都可以做為開發時期方便的參考依據。

相關連結

  

此文章由 will 發表於 2009/6/19 下午 01:31:30

永久連結 | 評論 (1) | 此文章的RSSRSS comment feed |

分類: .Net | ASP.NET | Tips

標籤: , , ,

評論

十一月 11. 2009 16:30

chainchung

又獲得一項知識啦, 感謝保哥.

chainchung 台灣

新增評論


( 您輸入的Email不會顯示於網站上 )

  Country flag

biuquote
  • 評論
  • 線上預覽
Loading