Herhangi bir anonim kullanıcıdan bir grup rasgele metin alan ve daha sonra arka uçta bazı işlemleri gerçekleştiren bir WCF REST web hizmeti geliştirme sürecindeyiz. biz sadece biz (401) Unauthorized
olsun varsayılan IIS ayarları kullanıyorsanızWCF REST Hizmet - 401 Yetkisiz
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
public class MyRESTService : IMyRESTService
{
[WebInvoke(Method = "PUT", UriTemplate = "/MyRESTMethod?paramA={paramA}¶mB={paramB}")]
public Stream MyRESTMethod(string paramA, string paramB, Stream rawData)
{
//do some stuff...
}
}
:
Örneğin, burada bizim web hizmetinden bir yöntemdir bu. Ancak, birçok deneme ve hatadan sonra, hizmetimiz için gerçek .svc
dosyasındaki 'Herkes' bölümüne WRITE erişimi vererek işe alabileceğimizi anladık.
Sorum şu: Bu iş için IIS'nin bir .svc
dosyasına WRITE erişiminin neden dünyada olması gerekir? Daha iyi bir yol var mı yoksa bu hack (ve muhtemelen güvensiz) bir çözümle mi takıldım?
WTF Microsoft?
Muhtemelen ilgili:
- PUT and DELETE in RESTful WCF Service cause 401 Unauthorized error
- IIS7 Post/Put/Patch/Delete WCF oData - Authentication Failure 401.3
erişim hakları
<system.web>
iç<authentication mode="None" />
koyarak düzeltilebilir. Bunun yerine kimliği doğrulanmış kullanıcının bu haklara sahip olması gerekir. Anonim erişim için bu IUSR'dir. – chiccodoro