将asp.net会员特定设置移动到单独的配置文件

cod*_*net 2 c# 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>
Run Code Online (Sandbox Code Playgroud)

mar*_*c_s 8

任何.NET配置部分都可以外部化 - 试试这个:

<authentication configSource="auth.config" />
<membership configSource="members.config" />
<roleManager configSource="roles.config" />
Run Code Online (Sandbox Code Playgroud)

或者你想要使用的任何名字.

单个文件需要包含您已外部化的整个部分:

auth.config

<?xml version="1.0" encoding="utf-8"?>
<authentication  mode="Forms">
  <forms loginUrl="~/Login.aspx" timeout="144600" slidingExpiration="true">
</authentication>
Run Code Online (Sandbox Code Playgroud)

members.config

<?xml version="1.0" encoding="utf-8"?>
<membership defaultProvider="TestMembership">
   <providers>
      <add name="TestMembership" type="Test.Membership.TestMembership">
   </providers>
</membership>
Run Code Online (Sandbox Code Playgroud)

roles.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>
Run Code Online (Sandbox Code Playgroud)

  • 该死的你发布我即将发布的答案 (2认同)