ASPNET用户和IIS权限问题

tiexue_jl 2004-04-20 07:39:18
环境win2000 server + IIS5.0 + VS2003

默认情况下,ASPNET属于User用户组,IUSR_***** 用户是Guests用户组。
所有的磁盘都是Everyone可以完全访问。

现在我要限制asp.net网页的访问磁盘文件的权限,但是IIS里面有两个网站,这2个网站里面的asp.net网页的访问权限要求不同,应该如何设置?ASPNET用户只有一个啊。

///////////////////////////////////////////////////

另外

启用模拟。在这种情况下,ASP .NET 将模拟由 IIS 传递给它的标记,该标记可能是已验证的用户,也可能是匿名 Internet 用户帐户。
<identity impersonate="true"/>

这意味着 asp.net 网页用 IUSR_******** 的权限运行???

///////////////////////////////////////////////////

禁用模拟。此选项是默认设置,以便与 ASP 向后兼容。在这种情况下,ASP .NET 线程将使用应用程序辅助进程的进程标记(默认情况下为 IIS 系统帐户)来运行,而不考虑采用的是 IIS 和 ASP .NET 身份验证的何种组合。
<identity impersonate="false"/>

IIS 系统帐户是什么啊?难道不是IUSR_*******

///////////////////////////////////////////////////

如果我通过设置 web.config来实现,其他用户有FTP权限,他们可以自己修改web.config文件啊。
...全文
672 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
tiexue_jl 2004-04-24
  • 打赏
  • 举报
回复
<identity impersonate="true"> 可以不指定模拟的具体用户的,这样的话按道理aspx就应该模拟使用IIS的IUSR_****用户了。
tiexue_jl 2004-04-22
  • 打赏
  • 举报
回复
zhjboss(小张),似乎没有理解我的意思啊,我晕倒。
昨天搞了搞,似乎还是有问题。

web.config里面设置了<identity impersonate="true"/> 之后,aspx网页似乎还是使用的ASPNET用户(Users组)的权限,而不是IIS里面设置的IUSR_****(Guests组)的权限。
wolftop 2004-04-22
  • 打赏
  • 举报
回复
UP~!
zhjboss 2004-04-22
  • 打赏
  • 举报
回复
DataSet ds=new DataSet();
FileStream fs=new FileStream(filename,FileMode.Open,FileAccess.Read);
ds.ReadXml(fs);
if(ds.Tables.Count==0)
{
Response.Write("book.xml文件内无记录");
fs.Close();
Response.End();
}
Trace.Warn("表记录娄",Convert.ToString(ds.Tables[0].Rows.Count));
DataRow dr=ds.Tables[0].NewRow();
dr["isbn"]="add isnb";
dr["author"]="asdfasd";
dr["title"]=" sdfasdfsdfs";
ds.Tables[0].Rows.InsertAt(dr,0);
Trace.Warn("表数目",Convert.ToString(ds.Tables.Count));
DataView dv=new DataView(ds.Tables[0]);
Trace.Warn("字串长度:"+psort,Convert.ToString(psort.Length));
if(psort.Length>0)
{
dv.Sort=psort;
DataGrid1.DataSource=dv;
DataGrid1.DataBind();
fs.Close();
像fs这样就行了
xjbsky 2004-04-22
  • 打赏
  • 举报
回复
<identity impersonate="true">中指定要模拟的用户,对用户进行不同的授权不就可以了
tiexue_jl 2004-04-21
  • 打赏
  • 举报
回复
刚才进行了测试,设置<identity impersonate="true"/>以后,aspx网页将用IUSR_****帐号的权限来运行:)

这点已经清楚了。
tiexue_jl 2004-04-21
  • 打赏
  • 举报
回复
谁来解决问题阿,等待中!
1979xt 2004-04-20
  • 打赏
  • 举报
回复
up
tiexue_jl 2004-04-20
  • 打赏
  • 举报
回复
<!--
模拟和代理
在模拟情况下,ASP .NET 应用程序能够使用客户端标识以客户端的身份有选择地执行。模拟一般用于资源访问控制。您应仔细考虑是否需要模拟,因为它将消耗额外的服务器资源。代理是一种比模拟更强大的形式,它允许服务器进程以客户端的身份访问远程资源。
如果启用模拟,ASP .NET 将从 IIS 收到模拟标记。与传统的 Active Server Pages (ASP) 相比,使用 ASP .NET 将使您在 Web 应用程序中更广泛地控制模拟。这种控制是通过在应用程序的 Web.config 文件中指定值来实现的。
在指定所需的模拟设置时,有以下三个选项:
启用模拟。在这种情况下,ASP .NET 将模拟由 IIS 传递给它的标记,该标记可能是已验证的用户,也可能是匿名 Internet 用户帐户。
<identity impersonate="true"/>
启用模拟,使用指定的特定模拟标识。在这种情况下,ASP .NET 将模拟使用配置的标识生成的标记。此时不使用客户端标记(即使有)。
<identity impersonate="true" username="domain\user" password="pwd"/>
禁用模拟。此选项是默认设置,以便与 ASP 向后兼容。在这种情况下,ASP .NET 线程将使用应用程序辅助进程的进程标记(默认情况下为 IIS 系统帐户)来运行,而不考虑采用的是 IIS 和 ASP .NET 身份验证的何种组合。
<identity impersonate="false"/>
如果应用程序驻留在 UNC 共享中,ASP .NET 将一直模拟 IIS UNC 标记以访问该共享,除非使用了配置帐户。如果提供了显式配置的帐户,ASP .NET 将优先使用该帐户。
表 1 显示了根据三种不同的 Web.config 配置来执行请求的线程标记。请注意,IUSR_SERVER 帐户表示已配置用于匿名访问当前 URL 的帐户(即,该帐户不必是 IUSR_ 帐户)。进程帐户是应用程序辅助进程运行时使用的帐户:默认情况下,该帐户为系统帐户,除非进行专门配置。
-->
tiexue_jl 2004-04-20
  • 打赏
  • 举报
回复
ServU这个FTP server在机器是用什么权限运行的啊?
tiexue_jl 2004-04-20
  • 打赏
  • 举报
回复
web.config 设置成<identity impersonate="true"/>以后就应该是IUSR_****帐号的权限来运行的吧,我如何防止用户修改web.config这个文件呢?
bitsbird 2004-04-20
  • 打赏
  • 举报
回复
web.config里授权
tiexue_jl 2004-04-20
  • 打赏
  • 举报
回复
自己顶一下,难道没有人知道

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧