创建一个 Web 应用程序来测试先前的自定义成员提供程序和角色提供程序。
在 web.config 文件中配置为表单验证,并正确的设置自定义提供程序(或者在 ASP.NET WAT 中设置),例如下面这样:
<system.web>
<authentication mode="Forms" />
<authorization>
<deny users="?"/>
</authorization>
<compilation debug="true" targetFramework="4.0" />
<membership defaultProvider="XmlMembership">
<providers>
<add name="XmlMembership" applicationName="TestProvider"
fileName="D:\TestProvider\Users.config" requiresQuestionAndAnswer="true"
type="Skysoot.Providers.XmlMembershipProvider,Skysoot.Providers"/>
</providers>
</membership>
<roleManager enabled="true" defaultProvider="XmlRoles">
<providers>
<add name="XmlRoles" applicationName="TestProvider" fileName="D:\TestProvider\Roles.config"
type="Skysoot.Providers.XmlRoleProvider,Skysoot.Providers"/>
</providers>
</roleManager>
</system.web>
这些提供程序被设置为绝对文件名和路径值。如果使用相对路径,那么提供程序会尝试在 Web 服务器的工作目录里创建配置文件。如果运行你的 Web 账户没有访问这个文件夹的权限,这将引发一个异常。
通过这样的配置,在 ASP.NET WAT 中也可以发现这些提供程序:
你还可以创建一些角色来配合网站的测试,当然,需要在 web.config 文件中设置授权:
1. 使用 WAT 进行调试
想要通过 WAT 进行调试,只需启动 WAT,然后在 VS 中选择“调试”->“附加到进程”,然后选择相应的 Web 服务器进程。大多数情况下,当使用基于文件的 Web 服务器时,这些进程中会有 2 个运行,你需要添加到正确的端口上才能使用 WAT 调试提供程序(端口号可以看浏览器地址栏)。
操作 WAT,在程序中设置的断点就会被正确命中,截图如下: