从匿名网站调用安全Web服务

时间:2011-02-01 15:08:27

标签: asp.net asp.net-mvc

我希望有人可以帮助我。我有一个通过Web配置设置为安全的Web服务:

<authentication mode="Windows" />    
<authorization>
  <allow roles="MET\Web-Admin"/>     
  <deny users="*"/>
  <allow users="MET\JoeUser;MET\JoeSmith"/>
</authorization>

同样在IIS 7(Windows Server 2008)中,它具有以下用于身份验证的设置:

Anonymous Authentication:Disabled
ASP.NET Impersonation:   Disabled
Basic Authentication     Disabled
Forms Authentication:    Disabled
Windows Authentication:  Enabled

我在IIS7中调用它的匿名网站是:

Anonymous Authentication:Enabled
ASP.NET Impersonation:   Disabled
Basic Authentication     Disabled
Forms Authentication:    Enabled
Windows Authentication:  Disabled

在匿名网站中,我通过以下方式呼叫安全网络服务:

moms.momService myMom = new moms.momService();
NetworkCredential netCred = new NetworkCredential(@"username", "password");            
strStatus = myMom.createBackupDirectoryAndPrivs(sData);

每次我运行它,它都会返回Unauthorized。我已确保此用户位于Web-Admin AD组中。我还尝试将用户添加为允许用户但仍未经授权。我很确定问题出在IIS的某处,但不确定还有什么要检查。

BTW:值得一提的是,如果我在我的开发箱上通过VS2010开发运行匿名站点,并使用上面的代码调用安全站点,它可以正常工作。这就是我在PROD服务器上思考IIS的原因。

非常感谢任何帮助。提前谢谢。

...地理位置

1 个答案:

答案 0 :(得分:0)

尝试在允许设置后移动拒绝设置,因为它们按从上到下的顺序处理:

<allow roles="MET\Web-Admin"/>     
<allow users="MET\JoeUser;MET\JoeSmith"/>
<deny users="*"/>