当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > ASP.NET数据库编程之处理文件访问许可

ASP.NET
FreeTextBox(版本3.1.6)在ASP.Net 2.0中使用方法
.NET 常用功能和代码小结
在 .NET Framework 2.0 中未处理的异常导致基于 ASP.NET 的应用程序意外退出
asp.net IList查询数据后格式化数据再绑定控件
asp.net sql存储过程
asp.net 简单实现禁用或启用页面中的某一类型的控件
asp.net(c#)获取内容第一张图片地址的函数
The remote procedure call failed and did not execute的解决办法
ASP.NET 在线文件管理
asp.net 读取并修改config文件实现代码
ASP.NET Cookie 操作实现
asp.net Silverlight中的模式窗体
Silverlight中动态获取Web Service地址
asp.net Silverlight应用程序中获取载体aspx页面参数
asp.net 水晶报表隔行换色实现方法
asp.net 获取Gridview隐藏列的值
手动把asp.net的类生成dll文件的方法
asp.net 使用ObjectDataSource控件在ASP.NET中实现Ajax真分页
动态指定任意类型的ObjectDataSource对象的查询参数
asp.net Md5的用法小结

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 75 ::
收藏到网摘: n/a

  一个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上获得该白皮书。