我希望有人可以帮助我。我有一个通过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的原因。非常感谢任何帮助。提前谢谢。
...地理位置
答案 0 :(得分:0)
尝试在允许设置后移动拒绝设置,因为它们按从上到下的顺序处理:
<allow roles="MET\Web-Admin"/>
<allow users="MET\JoeUser;MET\JoeSmith"/>
<deny users="*"/>