我的网络应用程序写入多个文件夹(日志,上传等),我总是通过我的托管服务提供商手动设置这些权限。
我想创建一个在新安装上执行此操作的安装脚本。这是否可以在中等信托下进行?
我甚至无法调用File.GetAccessControl,更不用说File.SetAccessControl,但无论如何我都不需要这样的“大锤子”。我只是想做ISP(在这种情况下是GoDaddy)让我通过管理控制台做的事情。
我相信PHP能够做到这一点,如果可能的话,我愿意为此目的考虑一个PHP页面。
答案 0 :(得分:2)
好的,假设您以通常的方式使用IIS和asp.net,您必须拥有一个asp.net帐户,框架在该帐户下代表您执行您的应用程序。
Web应用程序在单个帐户下运行,通过身份验证,用户可以通过编程方式获得“主帐户”代表他们执行操作的权限。
把它想象成这样......
Asp.net加载你的应用程序(asp帐户) 用户连接(iuser帐户) 用户登录(?取决于使用的帐户可以是Windows身份验证或表单身份验证等)
用户要求使用您帐户下的渲染网页执行某些操作...
asp.net检查用户是否有权执行操作(asp.net acount) 如果用户可以这样做,asp.net会对请求的操作(asp.net帐户)采取行动
因此...... 您应该已经拥有该asp.net帐户中的相关权限,以执行您需要执行的操作。
最重要的是...... IIS服务器本身通常在系统/网络服务帐户下运行。
所以问题确实是...... 您希望如何授予可能的用户写入服务器的权限。
查看框架中的成员资格提供程序和roleprovider类,您应该能够继承它们并创建一个ActiveDirectoryRoleProvider和ActiveDirectoryMembershipProvider类,它将根据AD中用户的角色成员身份进行身份验证,或者如果您更喜欢对DB与基本的asp.net提供程序类。
希望这有帮助。
答案 1 :(得分:0)
您需要编辑配置文件 %WINDIR%\ Microsoft.NET \框架{版} \