您的位置:首页 > 编程语言 > ASP

ASP.NET 网站管理工具中的“提供者”制表页

2006-12-20 12:50 337 查看
使用网站管理工具中的“提供者”制表页可以对 ASP.NET 存储应用程序数据的存储方式进行管理,如用户帐号、角色、以及其他设定。

ASP.NET 使用提供者类对不同特征的数据存储进行管理,如成员资格和角色管理。一个提供者类就是一个暴露特定 ASP.NET 功能的组件,如管理成员资格中的用户帐号。类似的其他每个应用程序特征都需要进行这样的数据存储。虽然每个提供者类完成的都是相同的应用程序特征,但是每个提供者类都可以通过不同的方式对数据进行存储。例如,不同的 ASP.NET 成员资格提供者类可以使用下列方式对用户帐号信息进行存储:

在 Microsoft SQL Server 数据库中。

在 Microsoft Windows 活动目录服务中。

在自定义用户数据库中。

每一个提供者类还会针对用户帐号管理任务通过相同的方式在应用程序中与提供者类进行的交互来完成相同的核心设置。

网站管理工具中的“配置提供者”

网站管理工具允许你针对应用程序的不同特征使用不同的提供者类,如成员资格和角色。ASP.NET 为每种应用程序特征安装了不同的提供者类。例如,ASP.NET 有一个用于成员资格的提供者类
AspNetSqlMembershipProvider
,该类在 SQL Server 数据库中保存成员资格信息,并且把成员资格信息保存到活动目录中。

管理提供者的设定

你可以使用网站管理工具对网站的提供者进行更改和测试。你的应用程序中既可以使用单个提供者也可以使用若干不同的提供者。

默认时,网站管理工具会为所有应用程序特征使用
AspNetSqlProvider
提供者。

使用网站管理工具对网站提供者进行管理的方式有下列几种:

如果你更喜欢使用本地的 Windows 角色授权分组,可以更改默认的
AspNetSqlRoleProvider
提供者并以
AspNetWindowsTokenRoleProvider
提供者作为替代。

你需要在是否为所有应用程序特征使用相同的提供者或者为每种应用程序特征使用不同的提供者之间进行选择。通常,你会选择单独的提供者,除非你需要对信息进行精确控制或者需要为单个特征使用不同的提供者。

单个提供者 vs 不同的提供者

可以对网站进行配置以便为多个应用程序特征使用相同的提供者。在这种情况下,所有成员资格数据和角色数据等等都被保存在单个数据存储(通常是单个数据库)中。另外,你还可以为每个应用程序特征使用不同的提供者。

在网站管理工具中,切换到“提供者”制表页,你首先要选择的就是为所有特征使用相同的提供者还是为每个应用程序特征分别使用单独的提供者。你可以对下列选项进行选择:

要为所有应用程序特征指定单个提供者,请单击“为所有网站管理数据选择单个提供者”。

要为应用程序特征指定单独的提供者,请单击“为每种特征使用不同的提供者(高级)”,然后分别为每个应用程序特征对提供者进行选择。

配置 SQL Server 提供者

如果你需要使用 SQL Server 提供者并使用 SQL Server 数据库对应用程序的特征数据进行存储,你必须先要创建适当的数据库并对 SQL Server 进行配置。ASP.NET 包括有一个名为 aspnet_regsql.exe 的命令行工具,通过它可以完成该任务。

可执行文件 aspnet_regsql.exe 位于 Web 服务器的 WINDOWS\Microsoft.NET\Framework\版本号 目录中。该工具可以同时用于创建 SQL Server 数据库并且为现有数据库添加或删除配置选项。

你可以在运行 aspnet_regsql.exe 时不使用任何命令行参数,这样会出现一个窗口向导帮助你指定 SQL Server 的连接信息并且安装或删除被所有特征支持的数据库元素。你同样可以把 aspnet_regsql.exe 用于单独特征的数据库元素配置。

要运行 aspnet_regsql.exe 向导,请在运行 aspnet_regsql.exe 时不指定任何命令行参数,如下所示。

[%system root%]\Microsoft.NET\Framework\版本号\aspnet_regsql.exe


要查看 aspnet_regsql.exe 工具中各种选项的帮助信息,请使用 /? 命令行参数。

幕后

“提供者”制表页对保存在应用程序 Web.config 文件中的配置设定进行管理。特别要说的是,通过“提供者”制表页所管理的设定被保存在配置文件中的
<membership>
<roleManager>
部分。

下例代码在网站管理工具指定
AspNetWindowsTokenRoleProvider
提供者用于角色管理之后被生成。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<membership defaultProvider="AspNetSqlMembershipProvider" />
<roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider" />
<authentication mode="Forms" />
</system.web>
</configuration>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: