首页 > 编程 > .NET > 正文

ASP.NET数据库编程之处理文件访问许可

2024-07-10 13:10:26
字体:
来源:转载
供稿:网友


  一个mdb数据库就是硬盘上的另外一个文件,所以,像其他文件一样,它也将遇到相同的文件访问许可问题。这个问题的意思是为了读取(和写入,就像您将要在本书的后面看到的那样)数据库文件,页面中所运行的应用程序必须具有相关许可才可以在windows中读取(和写入)该文件。

  到目前为止,示例中的页面都能够“正常运行”的原因就是您使用的是vwd web server,一个在运行vwd的用户的身份下运行的轻量级程序。这就是说,vwd web server为您而运行,并且您已经被允许读取和写入页面连接的mdb文件。

  但是,当在iis下运行页面时,情况就有一点复杂了。此时,asp.net页面运行于一个具有特定权限限制的用户账户的身份之下。在iis 5.1之下,这个账户是“aspnet”。在iis 6.0或更高版本下,这个账户是“network service”,属于一个称为iis_wpg(“worker process group”)的windows用户组。为了在iis下使用access数据库,这些账户都必须授予对包含了mdb文件的目录进行读取的许可以及按情况授予写入的许可。

  为了帮助您创建这些许可,当数据库处于应用程序根目录之下的app_data子目录下时,vwd将执行额外的步骤并自动地将这个许可授予aspnet或者 network service账户。假如您正在使用vwd来开发机器上的页面,这个特定的目录就一直会被授予正确的许可。app_data目录还有另外的好处,例如防止其中的任何文件响应发出请求的web浏览器。这就是说将mdb文件放入应用程序的本地app_data目录之后,就可以保护这些文件不被应用程序的客户端无意或有意地下载了。所以,我们极力推荐将mdb文件保存至app_data目录中。

  如果必须将mdb文件保存至其他的地方,或者需要手动指定数据库目录的许可(例如,您正工作于一台远程web服务器),那么可以使用windows来为asp.net和/或 network service账户配置许可。

  如需手动设置许可,请按如下步骤执行:

  (1) 使用windows explorer浏览mdb文件所在的文件夹。

  (2) 右键单击这个目录并选择properties。

  (3) 选择security标签并单击add按钮。

  (4) 添加本地的asp.net账户(iis 5.1) 或者iis_wpg组(iis 6)。

  (5) 单击ok;然后将相关许可应用至这个目录。

  如需获得更多信息,请参阅名为“running asp.net 1.1和iis 6.0”的白皮书,可以从asp.net的web站点:http://www.asp.net/faq/aspnetandiis6.aspx上获得该白皮书。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表