设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

1234下一页
返回列表 发新帖
查看: 11300|回复: 34
打印 上一主题 下一主题

[页] [文章]怎样在Internet上配置数据访问页(DAP)

[复制链接]

点击这里给我发消息

跳转到指定楼层
1#
发表于 2003-4-7 23:30:00 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
对于 ACCESS 2000:
http://support.microsoft.com/default.aspx?scid=KB;en-us;q264080

对于 ACCESS 2002:
http://support.microsoft.com/default.aspx?scid=kb;EN-US;291783
[此贴子已经被作者于2003-4-22 17:08:59编辑过]

本帖被以下淘专辑推荐:

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖2 订阅订阅
35#
发表于 2006-2-21 00:15:00 | 只看该作者
(续前)


用Access 2002部署的新特性


为了使部署多组数据访问页简单化,Office XP Web组件中的数据源控件添加了一个新的名叫“连接文件”的属性。这个属性允许你用两种连接文件中的一种为多组网页维护连接信息:


l         Office数据连接(.odc)


l         通用数据连接(.udl)


当你准备好部署一组数据访问页时,你可以在连接文件里而不是每个网页更改连接字符串。





连接文件属性包含到达连接文件自身的相关路径。这意味着你可以在本地发展你的网页,在Web服务器上部署你的网页及连接文件,然后在Web服务器上修改连接文件而不是编辑数据访问页以更新数据库的位置。


设置连接文件属性,遵循下列步骤:


1、  运行Access 2002,以设计视图打开你的网页;


2、  右击网页,然后在快捷菜单上单击“网页属性”;


3、  在属性对话框里单击“数据”选项卡,


4、  在属性上单击“创建”按钮以浏览已存在的连接文件。


重要 如果你用HTTP或HTTPS地址部署数据访问页的话,不要选择通用数据连接(.udl)文件。当你用HTTP或HTTPS地址部署时,必须用Office 数据连接(.odc)指定网页连接。


在选择数据源对话框里,你也可以双击连接到新的数据源以使用数据连接向导创建一个新的.odc文件。





以后的步骤


有关如何和数据访问页一起工作的更多信息,请参见“在数据访问页里编程”,“创建安全的数据访问页”,及“在FrontPage 2000里和数据访问页一起工作”。





有关如何和Web站点一起工作的更多信息,请参见“微软”Web站点。还有关于HTML及DHTML(包括在Internet Explorer 5里可用的新特性)大量额外的信息,你将发现有关创建及管理Web站点的信息,包括像部署及安全之类的相关问题。下面是在微软Web站点上可用的白皮书示例。


l         Web服务部署路线图


l         研发以及部署Web应用程序


< 0cm 0cm 0pt 42pt; TEXT-INDENT: -21pt;
34#
发表于 2006-2-21 00:14:00 | 只看该作者
(续前)


部署二层访问网页


在Intranet上部署二层访问网页所需的高层次总体步骤如下:


1、  确认所有你的网页用户都使用Internet Explorer 5以及如果他们没有安装Office Web组件却拥有安装的能力。客户端软件的详情,请参见“客户端软件要求”,如果你能控制用户如何安装Internet Explorer,你可能需要考虑使用IEAK创建自定义安装,它可以指定你用来发布二层数据访问页的服务器注册到受信任站点的安全区域。这些Internet Explorer安全问题的详情,请参见“Internet Explorer如何处理跨域数据访问”;


2、  确认你拥有合适的Web服务器以及数据库软件,详情请参见“服务器软件要求”;


3、  为你的数据库定义安全及认证,或者和数据库管理员协作以确定你将要与其工作的数据库是如何设置安全的。详情请参见“认证及数据库安全问题”


4、  按照Access 2000帮助里的描述创建数据库,保持UseRemoteProvider属性为默认的False设置。按照“认证及数据库安全问题”节所述为网页设置合适的、和安全相关的连接设置。


5、  把网页复制到IIS计算机上。


如果你创作的网页和Accesss数据库(.mdb)相连,使用到达数据库文件的本地路径作为定义,在把网页复制到服务器之前,你必须把数据库复制到公用共享点上,这样所有的用户都能访问的到,然后在网页里更新连接信息以指向公用共享点(最好使用UNC路径)。


重要 如果IIS机器用来发布多个作者的网页,在他们发布网页之前,你必须考虑让有脚本经验的人来测试网页以确认他们没有含有恶意脚本。有关在数据访问页里使用脚本的详情,请参见“在数据访问页里编程”。





6、  在IIS上为网页定义验证,或者和Web服务器管理员一起协作。详情请参见“配置Internet信息服务器验证方法”。


7、  向用户提供如何连接网页的信息。


如果你在步骤3及4中使用的数据库验证方法要求用户输入数据库密码,或用户名及密码,向用户提供这些信息。


如果发布网页的服务器没有注册到用户安装的Internet Explorer中受信任的安全区域内,他们将会看到在“三层访问的故障排除”节图6所示的错误消息。你应该指导用户按照“Intern
33#
发表于 2006-2-21 00:12:00 | 只看该作者
(续前)


维护应用三层数据访问的数据访问页的策略


有多种方法可以管理应用三层数据访问的数据访问页的升级


l         如果网页作者的计算机和IIS计算机可以使用同一种连接信息,作者就可以在Access里以设计视图查看和修改网页然后保存到IIS机器上。满足这种需求的一种方法是在IIS机器上创作网页。


l         你可以将UseRemoteProvider 属性设为False以创作网页。然后,当你准备好发布网页时,再将UseRemoteProvider 属性设为True,对于SQL Server数据库,将数据源信息改为(local),或者:对于Access数据库,改为像C:\MyFolder\MyDB.mdb那样的本地路径,接着保存,然后把网页复制到IIS计算机上。


l         交替使用数据库的设计副本以及产品副本。(设计副本位于作者的工作站上,产品副本位于IIS计算机上)。如果数据库都使用相同的本地数据源连接信息,如(local)针对SQL Server数据库或C:\MyFolder\MyDB.mdb针对Access数据库,网页直接保存到IIS计算机上就可正常工作。





如果你不想使用这些方法,每次你要重新发布你的数据访问网页的时候,你都必须用文本编辑器如记事本来修改连接字符串。





三层访问的故障排除


如果在设置你的服务器时,你犯了错,那么当你想用你的Web网页的时候,你将看到下列错误消息:





图4 服务器设置错误消息


为了解决这个问题,确保你的确遵循了“远程数据服务安全问题”节所述的所有处理步骤。





打开一个三层数据访问页时,如果你尝试用文件系统的路径名称(或文件URL)而不是HTTP URL来连接,你将看到下列错误消息:





图5 连接路径错误消息


为了解决这个问题,只在你准备发布网页的时候把UseRemoteProvider属性设为True。一旦UseRemoteProvider属性设置为True,网页就只能通过HTTP URL打开。如果你需要对网页进行另外的工作,你只有
32#
发表于 2006-2-21 00:11:00 | 只看该作者
(续前)


方法二


下列步骤描述连接到SQL Server或MSDE数据库时,如何在MSDFMAP.ini文件中嵌入本地SQL Server安全登录信息。这允许你创建一个三层数据网页,其在连接到它的数据源时,用户不会被提示安全登录信息。





如果你用本地SQL Server账号指定登录信息,所有的用户登录后都将使用同一组权限。这种方法类似于在网页里嵌入登录信息,但是更安全,因为用户无法访问登录信息。这是因为如果你在网页里嵌入安全信息的话,用户可以使用“查看源文件”命令查看网页的HTML源代码以发现登录信息。但是,如果你在MSDFMAP.ini文件中嵌入安全信息的话,文件位于服务器上并且只要服务器的文件系统本身足够安全,用户就无法访问。


正像所有在连接字符串中使用登录字符串的方法一样,这种方法以明文格式(未加密)穿过网络发送安全信息,可能会被恶意用户使用网络监视程序拦截。为避免此风险,你应该设置SSL使用HTTPS加密连接以和数据库通讯。





如果你指定使用集成Windows NT安全,并在MSDFMAP.ini文件中嵌入登录信息,数据库将被打开——使用每个用户的Windows登录账号及为此账号或组赋予的权限。这意味着你使用集成Windows NT安全来定义SQL Server或MSDE数据库安全性。





修改MSDFMAP.ini文件,在MSDFMAP.ini文件中嵌入安全信息以允许三层数据访问SQL Server或MSDE数据库


1、    在运行IIS的计算机上双击handsafe.reg 文件(C:\Program Files\Common Files\System\msadc)以确保你的IIS运行在安全模式;


2、    在你的IIS计算机上启动记事本然后打开MSDFMAP.ini,默认的MSDFMAP.ini位于C:\Winnt;


3、    确认[connect default]段落设置成Access=NoAccess,如本文前面“[connect default]段落的设置”所述,并且[sql default]段落将允许任何SQL声明连接到允许的连接上,如本文前面“[sql default]段落的设置”所述;


4、    在文件中创建一个新的连接别名,在文件中使用一个独一无二的名字。例如,如果你希望使用别名“MyDB”,连接别名的第一行看上去应该像这样:


[connect MyDB]


<FONT face="Ti
31#
发表于 2006-2-21 00:09:00 | 只看该作者
(续前)


1、  本段落的第二行定义你希望的允许访问数据库的方法。如果你想允许对你的数据库进行读写访问,设置Access= 参数为ReadWrite,像这样:


[connect C:\Data\MyDB.mdb]


Access=ReadWrite


如果你想允许对你的数据库进行只读访问,设置Access= 参数为ReadOnly,像这样:


[connect C:\Data\MyDB.mdb]


Access=ReadOnly


你应该使用这种方法将三层数据访问页连接到数据库,数据库可以是设置了用户级别的安全,数据库密码,或没有设置数据库安全。如果你连接的数据库既设置了用户级别安全又定义了数据库密码(数据库密码没有嵌入到网页里面,像本文前面“使用Access数据库密码”描述的那样),用户打开网页时,在网页能显示数据前,他或她将被提示输入合适的用户ID及密码,或数据库密码。如果这个级别的安全可以令你满意,你应该保存这些对于MSDFMAP.ini文件的更改并就此打住。


2、  如果你想使用数据库安全,但又不想提示用户,你可以安全的嵌入合适的用户ID及密码,或数据库密码,在MSDFMAP.ini文件里定义额外的Connect=参数,其中包含了需要连接到数据库的所有连接字符。如果数据库采用用户级别的安全,连接字符串必须包括用户名,密码,及到达为了数据库安全而设置的工作组信息文件(.mdw)的路径。例如,如果你建立用户级别安全并且定义了DAPUser账号使用密码OpenDAP,你需要在文件里添加下列行:


[connect C:\Data\MyDB.mdb]


Access=ReadWrite


Connect="rovider=Microsoft.Jet.OLEDB.4;User ID=DAPUserassword=OpenDAP;


   Data Source=C:\Data\MyDB.mdb;Jet OLEDB:System database=C:\Data\Secured.mdw;"


注释 尽管[connect]段落的开头包括有到达数据库的路径,你仍然还是要在连接字符串的Data Source参数中指定路径。这是因为[connect]段落里的Connect=参数需要利用完整的连接字符串,而不是保存在数据访问页的连接信息,才能使MSDFMAP.Handler连接到数据库。





类似的,如果数据库安全使用数据库密码OpenSesame,你需要在文件里
30#
发表于 2006-2-21 00:06:00 | 只看该作者
(续前)


当RDS运行在“安全”模式时,默认的名叫MSDFMAP.Handler的用户管理器被用来保护数据库免于直接暴露给Web客户端,他们可能会利用不安全的“数据工厂”方法。另外,MSDFMAP.Handler还保护服务器以及服务免受使用OLE DB提供者来访问文件系统及shell命令的攻击。这个管理器的行为由安装在Windows目录(例如C:\WINNT,)的MSDFMAP.ini文件控制,为了允许三层数据访问页对数据库的访问,你(或Web服务器管理员)必须修改MSDFMAP.ini文件。你所使用的方法基于你的网页是连接到Access数据库(.mdb)还是SQL Server/MSDE数据库而有所不同。


MSDFMAP.ini文件包括4种类型的段落














节名称





解释








Connect





用于指定连接字符串映射








SQL





用于指定命令字符串映射 (典型的<FONT face="Times New Ro
29#
发表于 2006-2-15 22:31:00 | 只看该作者
(续前)


使用基本验证


如果你清除对于网页或网页所在文件夹的“允许匿名访问”及“Windows NT质询/响应验证”选项,并且选择“基本验证”选项,用户在打开网页前,IIS将提示用户输入他或她的用户账号及密码。这种验证方法不使用委托且基于此也没有在Windows NT质询/响应验证那样描述的限制。然而,基本验证以明文形式在网上发送用户的账号及密码信息,它会被恶意用户窃取。如果你想避免这种风险,你可以设置你的服务器用安全套接字层(SSL)加密连接(HTTPS)发布数据访问页。有关如何使用加密连接的信息,请参见微软因特网信息服务器的文档。





远程数据服务安全问题


三层数据访问网页通过使用运行在你的Web服务器上的远程数据服务(RDS)连接到它的数据库。不管网页在不在你的Web服务器上发布,都需要解决RDS数据工厂对象(DataFactory)所产生的一些安全问题。除了这些安全问题,你还必须配置RDS组件以使三层数据访问网页能够正常工作。





MSADC虚拟目录设置


在使用RDS组件之前,你必须确认:在你的Web服务器上含有该组件的目录(默认是C:\Program Files\Common Files\System\msadc)正确的映射到名叫MSADC的虚拟根目录,且具备正确的安全权限。IIS默认的配置一般是正确的,但如果改变了这些配置,你会遇到错误,它告诉你:你的服务器的远程访问配置不正确。


确认RDS组件的虚拟目录及目录安全设置配置正确


1、  启动“Internet服务管理器”。在“程序”子菜单,指向“管理工具”,然后单击“Internet服务管理器”;


2、  在右窗格,位于“默认Web站点”,有个MSADC虚拟目录节点。如果没有MSADC虚拟目录节点,你必须按照下列步骤所示来添加和配置它;


3、  单击MSADC虚拟目录节点,然后在“操作”菜单上,单击“属性”;


4、  在“虚拟目录”选项卡上,确认或设置读和运行权限,如下屏幕快照所示:








图三 MSADC虚拟目录的读和执行权限


5、  在“目录安全性”设置选项卡,验证方法的设置必须和你为你的数据访问页创建的虚拟目录一样。





RDS数据工厂对象安全问题


远程数据服务(RDS)包含一个组件,名叫RDS数据
28#
发表于 2006-2-9 01:07:00 | 只看该作者
继续努力!!!
27#
发表于 2006-2-5 18:37:00 | 只看该作者
(续前)


使用Windows NT质询/响应验证
如果你清除对于网页或网页所在文件夹的“允许匿名访问”选项,并且选择Windows NT质询/响应验证选项,IIS将会使用打开网页的用户账号连接数据库。在Windows NT Server 4.0里有一个重要的限制:这种连接显得像是别的计算机作一个没有安全界限的“空”会话尝试。这是因为在Windows NT 4.0里,到别的计算机连接的安全界限无法委托(通行)。这意味着:默认的,如果SQL Server或者Access数据库和用于发布网页的IIS位于不同的计算机上的话,连接通常会失败。
在Windows NT 4.0里发布三层访问网页时,有两种方法可以突破上述限制:
你可以在同一台计算机上运行IIS以及数据库服务器(如SQL Server及Access数据库库),并且确保RDS组件使用本地路径访问数据库;
你可以在不同的计算机上运行IIS及数据库服务器,但如果网页要访问SQL Server数据库,你必须使用TCP/IP网络库,它不需要基于会话的安全;如果网页访问Access数据库,你必须为注册表的NullSessionShares值指定到达数据库的路径。
如果IIS及你的SQL Server数据库在运行Windows 2000服务器的计算机上运行,上述的每种方法都能工作,然而Windows 2000包括新的Kerberos版本5的验证特性,它允许你从一台计算机委托(通行)用户的安全界限到另一台计算机。通过使用Windows 2000的这种特性,当IIS和数据库服务器运行在不同的计算机上时,你可以建立一个安全的连接。所有这三种方法都会下一节里描述。


在同一台计算机上运行IIS和数据库服务器时配置Windows NT质询/响应验证
要避免三层访问网页的Windows NT Server 4.0“空连接”限制,其中一个方法是把数据库房在和运行IIS以发布网页的同一台计算机上。对于SQL Server数据库,SQL Server必须安装及运行在那台计算机上。对于Access数据库,数据库必须存在于那台计算机上的本地文件夹。接着,对于连接的数据源使用本地计算机地址。如:对于SQL Server数据库,你需要设置连接的数据源为(本地),而对于Access数据库,你必须设置数据源使用IIS服务器本地的驱动器路径。
当你草创一个使用SQL Server数据库作为数据源的数据访问页时,数据库存放的服务器由他的网络名识别,如DATASERVER1。在你发布网页之前,你必须重设网页的数据源到(本地),MSODSC控件就可以像处理本地的数据库一样将其传给IIS服务器计算机。类似的,当你草创一个使用Access数据库的数据访问页时,在你发布它之前,你要么使用数据库的本地拷贝,要么使用公用共享点的拷贝来进行工作。如果是这样的话,在你制作完网页后,在一台运行IIS实例以用于发布网页的计算机上创建一个文件夹,把数据库的一份拷贝置于
那个文件夹。然后重设网页的数据源到运行IIS的计算机上的本地路径。(如:"C:\Databases\MyDatabase.mdb"; 而不是\\MyServer\Databases\MyDatabase.mdb)。关于在SQL Server以及Access数据源上如何操作,如下步骤所示:


设置数据访问页使用数据库的一个拷贝,它位于运行IIS以发布网页的本地计算机上
启动Access并且用设计模式打开你想使用的数据访问页;
在“视图”菜单里单击“字段列表”;
在“数据库”选项卡里,右击“数据库名”,再单击“连接”;
使用下列方法之一:
对于SQL Server数据库,在“选择或输入数据库名称”对话框的“连接”选项卡上,更改服务器名为“本地”。
对于Access数据库,在“数据源”对话框的“连接”选项卡上,更改到达数据库的路径为数据库位于运行IIS的计算机上的本地副本所在的驱动器及路径,
单击确定,然后保存你对数据访问页的更改。


使用这种验证配置时,如果你想为连接到SQL Server数据库的数据访问页定义安全权限,你必须在服务器上指定将要使用网页的Windows NT用户或组来定义权限。这允许你为不同的用户或组定义不同级别的权限。然而,由于Access用户级别安全不能识别Windows NT登录账号,你将不能定义不同的安全级别。如果你已经定义了用户级别安全,你必须为默认的Admin用户账号定义权限。


这种方法的优点是对于验证用户来说,NT质询/响应验证是比较安全的方法,并且在使用SQL Server数据库时,为不同的用户定义不同级别的权限是很方便的。这种方法的缺点是IIS以及SQL Server都必须置于同一台计算机上限制了扩展性。


允许空连接使用TCP/IP网络库访问SQL Server
三层访问网页连接到SQL Server时 ,另外一种避免Windows NT Server 4.0空连接限制的方法是使用TCP/IP客户端网络库,它并不基于会话安全。下列步骤描述如何做法:
启动Access并且用设计模式打开你想使用的数据访问页;
在“视图”菜单里单击“字段列表”;
在“数据库”选项卡里,右击“数据库名”,再单击“连接”以显示“数据链接属性”对话框;
单击“所有”选项卡,然后双击“网络库”属性;
在“属性值”输入框,输入“DBMSSOCN”。(这是TCP/IP SQL Server客户端网络库[dbmssocn.dll]的名字,默认的,它安装在c:\winnt\system32\ 或c:\windows\system文件夹)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-6-2 22:17 , Processed in 0.096464 second(s), 38 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表