Asp.net 我可以使文件夹在中等信任状态下可写吗?

Asp.net 我可以使文件夹在中等信任状态下可写吗?,asp.net,file-permissions,medium-trust,Asp.net,File Permissions,Medium Trust,我的web应用程序会写入多个文件夹(日志、上载等),我总是通过我的主机提供商手动设置这些权限 我想创建一个安装脚本,在新安装中执行此操作。在中等信任的情况下,这可能吗 我甚至不能调用File.GetAccessControl,更不用说File.SetAccessControl了,但无论如何,我不需要这么大的锤子。我只想做ISP(在本例中是GoDaddy)通过管理控制台让我做的事情 我相信PHP能够做到这一点,如果可能的话,我愿意考虑一个PHP页面。你需要编辑一个配置文件 %windir%\Mic

我的web应用程序会写入多个文件夹(日志、上载等),我总是通过我的主机提供商手动设置这些权限

我想创建一个安装脚本,在新安装中执行此操作。在中等信任的情况下,这可能吗

我甚至不能调用File.GetAccessControl,更不用说File.SetAccessControl了,但无论如何,我不需要这么大的锤子。我只想做ISP(在本例中是GoDaddy)通过管理控制台让我做的事情


我相信PHP能够做到这一点,如果可能的话,我愿意考虑一个PHP页面。

你需要编辑一个配置文件 %windir%\Microsoft.NET\Framework{Version}\


请参见

确定假设您以常规方式使用IIS和asp.net,则您必须拥有一个asp.net帐户,框架将在该帐户下代表您执行应用程序

web应用程序在单个帐户下运行,通过身份验证,用户可以通过编程方式获得访问权限,以执行您的“主帐户”代表他们执行的操作

把它想象成这样

Asp.net加载你的应用程序(Asp帐户) 用户连接(iuser帐户) 用户登录(?根据使用的帐户可以是windows auth或forms auth等)

用户请求使用其帐户下的呈现网页执行某些操作

asp.net检查用户是否具有执行操作的权限(asp.net帐户) 如果用户可以执行此操作,asp.net将根据请求的操作(asp.net帐户)执行操作

因此。。。 您应该已经在该asp.net帐户中拥有执行所需操作的相关权限

还有一个层次比这更高。。。IIS服务器本身在系统/网络服务帐户下正常运行

所以问题真的是。。。 您希望如何向可能的用户授予写入服务器的权限

查看一下框架中的成员资格提供程序和roleprovider类,您应该能够继承它们,并创建一个ActiveDirectoryRoleProvider和ActiveDirectoryMembershipProvider类,该类将根据AD中用户的角色成员资格进行身份验证,或者,如果您更愿意使用基本asp.net提供程序类对数据库进行身份验证


希望这有帮助。

您检查过运行脚本的用户是否有权设置Windows访问控制吗?哦,我只想补充一点,如果您需要覆盖代码的信任级别,您可以根据具有权限的用户来执行此操作。因此,如果您发现“中等信任”是不够的,并且经过身份验证的用户是系统管理员,那么我相信您可以根据请求权限的用户进行覆盖。不过我认为你不需要。谢谢你的意见。这确实有助于了解典型设置中使用的各种帐户。如果应用程序通过IUSR帐户连接,那么它将如何利用仅ASP.NET帐户可用的权限?