2012-08-30 8 views
5

を使用して、プログラムでIIS認証を設定することはできません私は#私はC#の

cはこのコードを使用してサイト上で匿名認証を有効にしようとしている一番下に書かれた例外をスローし、私はそれを解決するためにどのように答えを見つけるカントどこでも検索:

using (ServerManager serverManager = new ServerManager()) 
{ 
    Configuration configapp = serverManager.GetApplicationHostConfiguration(); 
    ConfigurationSection anonymousAuthenticationSection = configapp.GetSection("system.webServer/security/authentication/anonymousAuthentication", Site1); 
    anonymousAuthenticationSection["enabled"] = false; 

    serverManager.CommitChanges(); 
} 

例外:

System.IO.FileNotFoundException: Filename: \\?\C:\Windows\system32\inetsrv\config\applicationHost.config 
Error: Unrecognized configuration path 'MACHINE/WEBROOT/APPHOST/Site1' 
    at Microsoft.Web.Administration.Interop.AppHostWritableAdminManager.GetAdminSection(String bstrSectionName, String bstrSectionPath) 
    at Microsoft.Web.Administration.Configuration.GetSectionInternal(ConfigurationSection section, String sectionPath, String locationPath) 
    at Microsoft.Web.Administration.Configuration.GetSection(String sectionPath, String locationPath) 
    at FlowSuiteWebConfigurator.label.button1_Click(Object sender, EventArgs e) in C:\Users\Administrator\documents\visual studio 2010\Projects\Projectname\Projectname\Form1.cs:line 264 

誰かがこの問題を解決する方法を私を導くことはできますか?

多分(1年半...後に)少し遅れ
+0

にあるファイルapplicationHost.configに見えます。認証されていないユーザーを拒否したい場合は、実際のWebサイトのweb.configで行う方がよいでしょう。これにより、許可されていないユーザーがサイトにアクセスすることを拒否する必要があります。 seekerOfKnowledge

+0

私は実際にIIS Web ConfiguratorフォームとしてC#を使用しています。私はまず最初にanon login programaticalyを無効にしてから、 "windows認証" – user1593455

答えて

2

が、問題はあなたの場所の定義(configapp.GetSectionの第二パラメータ)であるように思わ:例外がError: Unrecognized configuration path 'MACHINE/WEBROOT/APPHOST/Site1'

が上でローカルにテストされたと述べました私のマシンでは、Default Web Site/MyCustomPortalのような有効なロケーション名は例外ではありません。

注:追加の参照がC:\Windows\System32\inetsrv\Microsoft.Web.Administration.dllで、コードのこれらの行は、あなたがC#が、私はこれがASP.NETで推測している、タグ付けされていて見てC:\Windows\System32\inetsrv\config