2011-04-29 51 views
2

是否可以將asp.net成員資格/角色設置移至單獨的配置文件。這對自定義會員供應商很有幫助。將asp.net成員資格特定設置移至單獨的配置文件

<authentication mode="Forms"> 
    <forms loginUrl="~/Login.aspx" timeout="144600" slidingExpiration="true"> 
</authentication> 
<membership defaultProvider="TestMembership"> 
    <providers> 
     <add name="TestMembership" type="Test.Membership.TestMembership"> 
    </providers> 
</membership> 
<roleManager enabled="true" defaultProvider="TestRole" 
      cacheRolesInCookie="true" cookieName=".Test" cookieTimeout="1440" 
      cookiePath="/"> 
    <providers> 
     <add name="TestRole" type="Test.Membership.TestRole" /> 
    </providers> 
</roleManager> 
+2

如果您發佈代碼,XML或數據示例,請**在文本編輯器中突出顯示這些行,然後單擊編輯器工具欄上的「代碼示例」按鈕(「{}」)並語法突出顯示它! –

+0

對不起,我正在嘗試這麼做......感謝您解釋這一點。編輯它。 –

+0

@marc_s同意但你有沒有發現系統並沒有真正解析Web.config(可能是所有的XML)標記?我過去遇到過這個問題。 – pseudocoder

回答

8

任何.NET配置部分可以被外部化 - 試試這個:你想使用

<authentication configSource="auth.config" /> 
<membership configSource="members.config" /> 
<roleManager configSource="roles.config" /> 

或任何名稱。

的各個文件需要包含全款,你已經外化:

auth.config

<?xml version="1.0" encoding="utf-8"?> 
<authentication mode="Forms"> 
    <forms loginUrl="~/Login.aspx" timeout="144600" slidingExpiration="true"> 
</authentication> 

members.config

<?xml version="1.0" encoding="utf-8"?> 
<membership defaultProvider="TestMembership"> 
    <providers> 
     <add name="TestMembership" type="Test.Membership.TestMembership"> 
    </providers> 
</membership> 

角色。 config

<?xml version="1.0" encoding="utf-8"?> 
<roleManager enabled="true" defaultProvider="TestRole" 
      cacheRolesInCookie="true" cookieName=".Test" cookieTimeout="1440" 
      cookiePath="/"> 
    <providers> 
     <add name="TestRole" type="Test.Membership.TestRole" /> 
    </providers> 
</roleManager> 
+2

該死的你發佈的答案我正要發佈 – thaBadDawg

+0

是否有可能將它們全部放在一個configFile中而不是auth.config,roles.config等? –

+0

@ coder.net:沒有 - 每個配置部分一個文件 - 它只能用這種方式,對不起 –

相關問題