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

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

(0)

相关推荐

  • ASP.NET MVC3关于生成纯静态后如何不再走路由直接访问静态页面

    要解决这个问题,我们需要先了解ASP.NET应用程序的生命周期,先看下面作者整理的一张图片: 从图中我们可以清楚的看到:通用IIS访问应用程序时,每次的单个页面URL访问时,都会先经过HttpApplication 管线处理请求,走过BeginRequest 事件之后才会去走路由访问具体的Controller和Action,最后结束的时候会请求EndRequest事件.下面用一张图来表示这个顺序: 注意图中标示的红色部分就是我们要实现的部分,实现如下:1 新建MyHandler.cs 复制代码

  • asp.net 未能写入输出文件--“拒绝访问的解决办法

    这个是网站部署在IIS7上出现的一个问题,解决办法是: 将C盘Windows目录下的Temp文件夹赋于IIS_IUSRS完全控制的权限即可,不用添加NETWORK SERVICE用户

  • asp.net实现访问局域网共享目录下文件的解决方法

    本文以实例讲述了asp.net实现访问局域网共享目录下文件的解决方法,完整代码如下所示: using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls;

  • ASP.net中网站访问量统计方法代码

    一.建立一个数据表IPStat用于存放用户信息 我在IPStat表中存放的用户信息只包括登录用户的IP(IP_Address),IP来源(IP_Src)和登录时间(IP_DateTime),些表的信息本人只保存一天的信息,如果要统计每个月的信息则要保存一个月.因为我不太懂对数据日志的操作,所以创建此表,所以说我笨吧,哈哈. 二.在Global.asax中获取用户信息 在Global.asax的Session_Start即新会话启用时获取有关的信息,同时在这里实现在线人数.访问总人数的增量统计,代

  • ASP.NET拒绝访问临时目录的解决方法

    今天把博客程序部署到一台阿里云Windows主机上,通过浏览器访问时出现下面的错误: 复制代码 代码如下: 创建 BlogConfigurationSettings 的配置节处理程序时出错: 拒绝访问临时目录.以其运行 XmlSerializer 的身份"IIS APPPOOL\www.cnblogs.com"没有足够的权限访问临时目录.CodeDom 将使用此进程用于进行编译的用户帐户,因此如果用户对系统临时目录没有访问权限,则将无法编译.使用 Path.GetTempPath()

  • ASP.NET对路径"xxxxx"的访问被拒绝的解决方法小结

    在windows 2003下,在运行web应用程序的时候出现一下错误: 服务器无法处理请求,-->对路径"C:/temp/mytest.txt"的访问拒绝 说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.UnauthorizedAccessException: 对路径"D:/temp1/MyTest.txt"的访问被拒绝. 解决方案一 在需要进行读写操

  • asp.net中WebResponse 跨域访问实例代码

    前两天,一个朋友让我帮他写这样一个程序:在asp.net里面访问asp的页面,把数据提交对方的数据库后,根据返回的值(返回值为:OK或ERROR),如果为OK再把填入本地数据库.当时,想当然,觉得很简单,用js的xmlhttp ,如果根据response 的值是"OK"就执行提交本地数据库.很快写完发过去,让朋友试试,一试发现不行,后来一问,原来是跨域访问,我给忽略了,于是让朋友把asp改成web service,可朋友说程序是合作公司做的,只会asp,不会用web service ,

  • asp.net 实现静态页面累加访问量的三种方式

    静态页面 staticHtml.html 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> &

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

    一个MDB数据库就是硬盘上的另外一个文件,所以,像其他文件一样,它也将遇到相同的文件访问许可问题.这个问题的意思是为了读取(和写入,就像您将要在本书的后面看到的那样)数据库文件,页面中所运行的应用程序必须具有相关许可才可以在Windows中读取(和写入)该文件. 到目前为止,示例中的页面都能够"正常运行"的原因就是您使用的是VWD Web Server,一个在运行VWD的用户的身份下运行的轻量级程序.这就是说,VWD Web Server为您而运行,并且您已经被允许读取和写入页面连接的

  • asp access数据库并生成XML文件范例

    首先来看,ASP读取ACCESS数据库. 复制代码 代码如下: <% @language="VBScript" @codepage="65001"%> <% '开启显式变量声明 Option Explicit '设置输出类型 Response.contentType="text/xml" '定义三个变量,conn(Connection对象).connstr(ConnectionString).sql(一个SQL语句) dim c

  • Asp.net(C#)读取数据库并生成JS文件制作首页图片切换效果(附demo源码下载)

    本文实例讲述了Asp.net(C#)读取数据库并生成JS文件制作首页图片切换效果的方法.分享给大家供大家参考,具体如下: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Text; using System.IO; public partial

  • asp.net编程实现删除文件夹及文件夹下文件的方法

    本文实例讲述了asp.net编程实现删除文件夹及文件夹下文件的方法.分享给大家供大家参考,具体如下: //获取文件夹 string path = Server.MapPath("Image"); //获取文件夹中所有图片 if (Directory.GetFileSystemEntries(path).Length > 0) { //遍历文件夹中所有文件 foreach (string file in Directory.GetFiles(path)) { //文件己存在 if

  • PHP编程实现csv文件导入mysql数据库的方法

    本文实例讲述了PHP编程实现csv文件导入mysql数据库的方法.分享给大家供大家参考,具体如下: config.db.php内容如下: <?php $username="root"; $userpass="123"; $dbhost="localhost"; $dbdatabase="credits2stakes"; //生成一个连接 $db_connect=mysql_connect($dbhost,$usernam

  • Python实现数据库编程方法详解

    本文实例讲述了Python实现数据库编程方法.分享给大家供大家参考.具体分析如下: 用PYTHON语言进行数据库编程, 至少有六种方法可供采用. 我在实际项目中采用,不但功能强大,而且方便快捷.以下是我在工作和学习中经验总结. 方法一:使用DAO (Data Access Objects) 这个第一种方法可能会比较过时啦.不过还是非常有用的. 假设你已经安装好了PYTHONWIN,现在开始跟我上路吧-- 找到工具栏上ToolsàCOM MakePy utilities,你会看到弹出一个Selec

  • ASP与数据库,有用的代码(转贴,摘贴)

    ASP与数据库 ASP与数据库运用:密码验证  Microsoft 的大作ASP(Active Server  Pages)以其易学易用.扩充性好.功能多而强等优点正掀起一场新的web编程革命(从严格意义上讲,编写asp并不是编程),它以令人吃惊的发展和普及速度大有取代由perl等语言编写的CGI(Common  Gateway Interface,通用网关接口) 的势头.基于web  page方式的web管理模式已经成为潮流,看看现在的网管们,有谁不会asp的编写呢?要管理?那你可能就要用到我

  • C#.net编程创建Access文件和Excel文件的方法详解

    本文实例讲述了C#.net编程创建Access文件和Excel文件的方法.分享给大家供大家参考,具体如下: 一些系统可能需求把数据导出到Access或者Excel文件格式,以方便的传递数据.打印等. Excel 文件或者 Access这两种需要导出的文件可能并不是事先就存在的,这就需要我们自己编程生成他们,下面整理一下生成这两个文件的一些方法,只罗列最常用的.并不全. 一.首先生成Excel文件. 方案一.如果用Excel保存的只是二维数据,也就是把他当数据库的来用. 最简单,你不用引用任何额外

  • ASP XMLDom在服务器端操作XML文件的主要方法和实现

    对于小数据量,xml文件在检索更新上于ACCESS有很多优势. 我曾经测试过不用数据库,把网站的会员信息,商品数据信息,交易信息,网站定制信息全部存放在三个xml文件中,运行结果十分正常,感觉上比数据库快多了,不过没有作测试,不能确定. 下面说一下创建,查询,修改等对xml操作的主要方法 程序代码 NO.1--建立一个XML数据库data.xml 复制代码 代码如下: <?xml version="1.0"?> <records> <record>

  • ASP.NET数据库操作类实例

    本文实例讲述了ASP.NET数据库操作类.分享给大家供大家参考,具体如下: using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using Syst

随机推荐