ASP.NET数据库编程之处理文件访问许可
2008-04-24 06:31
405 查看
一个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上获得该白皮书。
到目前为止,示例中的页面都能够“正常运行”的原因就是您使用的是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上获得该白皮书。
相关文章推荐
- ASP.NET数据库编程之处理文件访问许可
- ASP.NET数据库编程之处理文件访问许可
- Asp.net多语言处理(数据库,XML,资源文件等)
- 解决ASP.NET执行update-database命令,无法访问*.mdf本地localDb数据库文件的问题
- Asp.Net : 捕捉和记录网站中出现的所有未处理错误,抛出详细的页面来源和访问ip,调用的接口方法及异常实例(记事本日志,系统日志及数据库日志)
- ASP.NET在删除掉数据库文件后报错处理
- ASP.NET 3.5核心编程学习笔记(44):HTTP处理程序的编写之从数据库加载图像
- ASP.NET 一般处理文件,复制以前文件,无法调试,无法访问的问题
- ASP.NET+DLL+DLL读取配置文件(DLL中访问数据库和WebService)
- C#编译器优化那点事 c# 如果一个对象的值为null,那么它调用扩展方法时为甚么不报错 webAPI 控制器(Controller)太多怎么办? .NET MVC项目设置包含Areas中的页面为默认启动页 (五)Net Core使用静态文件 学习ASP.NET Core Razor 编程系列八——并发处理
- 开源ASP.NET程序是如何处理文件编码的-从DotNetNuke看过来
- asp.net处理大文件上传
- ASP.NET访问数据库(一):使用odbc填充datagrid
- Asp.net访问Access数据库3-后台文件
- 怎样在asp.net中用一般处理文件ashx实现下载功能
- ASP.NET 访问文件夹权限不足,提升权限 /System.UnauthorizedAccessException 拒绝访问的处理方法
- 基于ASP.NET WEB API实现分布式数据访问中间层(提供对数据库的CRUD)
- ASP.NET MVC编程入门--网站访问统计
- asp.net 访问未知文件类型的静态文件
- 效果很好的asp.net的数据库访问模型(优化,封装一体化)