安装Visual Studio 2012并打开我的解决方案后,我遇到了以下形式的一系列错误:
Web应用程序项目Foo配置为使用IIS.
无法访问IIS元数据库.您没有足够的权限访问计算机上的IIS网站.
我为每个Web应用程序都得到了这个.我尝试过的事情:
这些似乎是这个问题的常见解决方案,但我没有取得任何成功.还有什么我可以尝试做的吗?
我们正在运行一个32位Windows服务器2008,其IIS版本为7.
我们正在尝试发布一个asp.net 4.0 webapp,到目前为止,我们的尝试只在serverlog中产生了一些警告,甚至没有停止4.0应用程序池
为应用程序池"ASP.NET v4.0"提供服务的进程与Windows进程激活服务发生致命的通信错误.进程ID是'1904'.数据字段包含错误编号.
该应用程序在4.0 app-pool和默认网站下运行.
我们还有一些较旧的.asp运行完美无缺.
即使在尝试发布一个贫瘠的(只读一行文本).aspx文件时,它也失败了......我们已经很久没有想过要做什么,所以任何形式的输入都会受到赞赏......
当我尝试访问我的ASP.NET MVC应用程序时,我收到错误:
Access to the path 'C:\inetpub\wwwroot\website\bin\test.Platform.Config.xml' is denied
Run Code Online (Sandbox Code Playgroud)
我使用具有以下属性的应用程序池运行IIS 7.5:
Identity: ApplicationPoolIdentity
Run Code Online (Sandbox Code Playgroud)
我想这是因为'ApplicationPoolIdentity'无法读取我尝试访问的文件.所以我的问题是:由于'ApplicationPoolIdentity'不是系统用户,我需要授予哪个用户或组进一步访问才能允许'ApplicationPoolIdentity'读取文件?
或者是否有其他解释此授权问题?
我在Windows 7和IIS 7.5中新创建的网站中遇到此错误.我创建了一个SSL证书并完成了绑定新网站.
HTTP错误401.3 - 未经授权
由于Web服务器上此资源的访问控制列表(ACL)配置或加密设置,您无权查看此目录或页面.
在我创建网站的早些时候,我在"添加网站"对话框中选择了"应用程序用户(通过身份验证)".当我单击"测试设置..."按钮时,我收到以下错误消息:
服务器配置为使用内置帐户的传递身份验证来访问指定的物理路径.但是,IIS管理器无法验证内置帐户是否具有访问权限.确保应用程序池标识具有对物理路径的读访问权限.如果此服务器已加入域,并且应用程序池标识为NetworkService或LocalSystem,请验证\ $是否具有对物理路径的读取权限.然后再次测试这些设置.

请建议解决方案.
谢谢.
证书已安装在计算机上.现在我想给应用程序用户提供有关证书PrivateKey的读取权限.
permissions powershell certificate applicationpoolidentity private-key
感谢您的观看:希望这不仅可以帮助其他人,而且可以帮助我们!(请保持温和,这是我在Stack上的第一个问题,虽然我已经是很长时间的用户/贡献者)
情况(SNAFU) AD站点感知应用程序正在从AD中提取一些信息.此应用程序只能连接到托管服务器的Active Directory站点中的控制器; 如果没有找到该网站的控制器,我们有更大的问题,但代码将处理这种可能性.
为实现这一目标,我们打算:
所以PSEDUO代码:
System.DirectoryServices.ActiveDirectory.DirectoryServices.GetComputerSite().Name
Run Code Online (Sandbox Code Playgroud)
获取服务器所在站点的名称...然后循环
System.DirectoryServices.ActiveDirectory.DirectoryServices.ActiveDirectorySite
直到我们找到与获得的名称相匹配的网站.现在我们有了这个集合,我们可以从servers属性请求特定的服务器.最后用服务器,请求所需的AD信息.
问题:
第一步,GetComputerSite().Name返回错误:ActiveDirectoryObjectNotFoundException
在我们的开发环境中,这很好用.在我们的生产环境中它不会.
我们验证了服务器在域中并通过检查此其他堆栈文章中提到的注册表项来定义站点
更多研究引导我们阅读描述类似问题的technet文章.我们使用上面提到的powershell脚本来查看我们的Web服务器会发生什么:
[System.DirectoryServices.ActiveDirectory.ActiveDirectorySite]::GetComputerSite()它返回了服务器和我们希望找到的8个控制器的列表; 以及正确的网站名称; 与注册表中的相同.
因此,这导致我们在默认应用程序池NetworkServices与ApplicationPoolIdentity之间存在权限差异.正如我们在此处所知,Web服务器可以看到网站和服务器......那么为什么无法使用Web应用程序呢?
我们发现通过从ApplicationPoolIdentity切换到NetWorkServices,该站点再次起作用(这恰好是开发设置并解释了为什么dev工作但生产不会.但是,因为这不再是默认的IIS 7.5配置(ApplicationPoolIdentity是);并且我们倾向于尝试保持默认值,因为补丁有时会将设置恢复为默认值...我们希望找到一个更强大的长期答案,更接近MSFT方向.
问题:
有没有更好的方法来获取服务器站点内的活动/响应控制器的句柄并获得对用户部门信息的访问权限?
需要向ApplicationPoolIdentity添加哪些权限才能允许此应用程序访问AD服务?
其他相关文章
不幸的是,到目前为止,我们发现所有人都设置了查看文件夹/文件系统的权限,但没有使用AD服务器(或者我们是否需要授予对包含正在使用的AD类的DLL的特定文件夹的访问权限?
更新: 我们认为给出错误的问题可能在于ApplicationPoolIdentity无法访问System.DirectoryServices.dll所以我们明确授予了权限
cacls.exe %windir%/assembly/System.DirectoryServices /e /t /c /p “OurAppPoolIdentityAcct”:R
Run Code Online (Sandbox Code Playgroud)
它开始工作!!!
我们无法相信它,所以我们解除了变化......并重新启动了IIS ....它仍然有效......
所以它似乎神奇地修复了自己.我们甚至只是通过从NetworkServices切换回ApplicationPoolIdenity来尝试生产,一切都开始工作了......我们不知所措,但没有进一步的调整.我们暂时监控并希望问题不会回来......不是最好的方法,但由于我们不能像以前那样重现问题,我们不知道还有什么可以尝试.
上一次更新旁边 我们发现使用应用程序池标识的IIS应用程序中引用的KB 会丢失主令牌?实际上是问题所在.我们
我们接下来的步骤是执行类似的步骤来确认此修补程序确实可以解决问题.我们会: .
.net directoryservices application-pool active-directory iis-7.5
我正在开发使用KendoUI的ASP.NET MVC 5应用程序。如果我在IIS Express下运行项目,则一切正常...如果使用IIS Local,则在尝试加载视图时出现以下异常
System.Web.dll中发生类型为'System.Web.HttpException'的第一次机会异常
Additional information: Invalid file name for file monitoring: 'C:\svn\Projects\xxx\trunk\xxx\Views\Shared\EditorTemplates'. Common reasons for failure include:
- The filename is not a valid Win32 file name.
- The filename is not an absolute path.
- The filename contains wildcard characters.
- The file specified is a directory.
- Access denied.
Run Code Online (Sandbox Code Playgroud)
我刚刚在Google上搜索过,有人建议在Debug-> Exception抛出异常复选框下禁用它,但是如果这样做,我将无法显示视图,因为输出只是JavaScript ...
有人找到解决此问题的方法了吗?谢谢
我正在设置我们的服务器,以便我们可以在其上安装ASP.Net Web应用程序.
我右键单击IIS7管理器中的站点并选择添加虚拟目录,然后单击"测试设置"按钮,显示以下消息:
The server is configured to use pass-through authentication with a built-in
account to access the specified physical path. However, IIS Manager cannot
verify whether the built-in account has access. Make sure that the application
pool identity has Read access to the physical path. If this server is joined to
a domain, and the application pool identity is NetworkService or LocalSystem,
verify that <domain>\<computer_name>$ has Read access to the physical path.
Then test these settings again.
Run Code Online (Sandbox Code Playgroud)
该消息并没有告诉我们如何做这些事情.
我正在设置的服务器上安装了Windows7 …
当我尝试访问它时将我的 up 发布到 IIS 后,我收到错误:服务不可用
http错误503服务不可用。
我接下来该怎么做?
我使用带有 IIS 8.5 的 Windows Server 2008(64 位)。该应用程序是 web api .NET CORE 2.2.1。
在我安装的 Windows 机器上:
我从视觉工作室发表了一篇文章。在模块上进入 IIS 我有 AspNetCoreModuleV2。
我拥有的 webconfig …
我有一个ASP.NET应用程序可以在Visual Studio开发服务器启动时连接到Oracle,但是当我将它部署到我的本地IIS时,它没有连接,显示"ORA-12154:TNS:无法解析连接标识符指定"错误.
我的连接字符串是:
Data Source=ABC; User Id=USER; Password=PASSWORD;
Run Code Online (Sandbox Code Playgroud)
Tt正在使用TNS.我的tnsnames.ora位于C:\ oracle\instantclient_10_2 \network\admin,我的ORACLE_HOME系统变量指向C:\ oracle\instantclient_10_2.
为了使它工作,我将连接字符串更改为:
"SERVER=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = server1.theplaceiwork.com)(PORT = 1521))(ADDRESS = (PROTOCOL = TCP)(HOST = server2.theplaceiwork.com)(PORT = 1521))(LOAD_BALANCE = yes))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = ABC)(FAILOVER_MODE =(TYPE = SELECT)(METHOD = BASIC))));uid=USER;pwd=PASSWORD;"
Run Code Online (Sandbox Code Playgroud)
所以不再使用TNS.
但是我想知道为什么我可以在使用Visual Studio进行debbu时使用TNS进行连接,但是在使用IIS时我不能.
有小费吗?
PS.我可以使用SqlDeveloper和TNS显示没有连接错误.
谢谢
目前我们使用log4net并创建一个新文件夹(通常在C :)以下,具有对工作进程用户的写入和创建访问权限.是否有我们应该或可能使用的标准Windows文件夹,例如LOCALAPPDATA?我猜测LOCALAPPDATA在一般情况下是一个糟糕的选择,因为IIS用户往往是非交互式用户,因此我不认为他们有通常的用户文件夹结构.
我一直在绕圈子,允许我的应用程序写入共享网络驱动器上的文件夹。
到目前为止,我有这个:
FileUploadControl.SaveAs(Server.MapPath("myFolder/" + filename));
Run Code Online (Sandbox Code Playgroud)
这成功地将文件保存到
\\machineName\inetpub\wwwroot\myApp\myFolder
Run Code Online (Sandbox Code Playgroud)
但是,我也试图将相同的文件保存到路径上根文件夹之外的文件夹中
\\machineName\myFolder
Run Code Online (Sandbox Code Playgroud)
使用:
FileUploadControl.SaveAs("C:\\myFolder\\" + filename);
Run Code Online (Sandbox Code Playgroud)
这将返回“拒绝访问”错误。那么如何让我的应用程序将文件写入 \\machineName\myFolder?我曾尝试向 IIS_IUSRS 和 NETWORK SERVICE 授予写权限,但无济于事。我是否应该创建一个具有写入网络驱动器权限的用户,然后在写入驱动器时使用模拟来使用该用户?将 IIS 7 与 .NET 4 应用程序一起使用。
asp.net ×6
iis-7 ×4
c# ×3
iis-7.5 ×3
.net ×2
iis ×2
permissions ×2
asp.net-mvc ×1
certificate ×1
iis-8.5 ×1
logging ×1
oracle ×1
path ×1
powershell ×1
private-key ×1
tns ×1