Burada verilen kodu kullanarak http://bitoftech.net/2014/12/15/secure-asp-net-web-api-using-api-key-authentication-hmac-authentication/ numaralı kodu kullanarak HMAC kimlik doğrulaması gerçekleştirmeye çalışıyorum.ASP.NET Web Formları içinde ASP.NET Web API'sini kullanırken "Yöntem İzin Yok" hatası oluştu
Bu kodu ASP.NET web formları uygulamamın içine entegre ettim. "HMACAPI" adlı bir klasör oluşturdum ve içindeki denetleyicileri ve filtreleri ekledim. Gerekli tüm Nuget paketlerini de kurdum. Bu benim rota API için yapılandırma edilir
[HMACAuthentication]
[RoutePrefix("api/forms")]
public class FormsController : ApiController
{
[Route("")]
public IHttpActionResult Get()
{
ClaimsPrincipal principal = Request.GetRequestContext().Principal as ClaimsPrincipal;
var Name = ClaimsPrincipal.Current.Identity.Name;
return Ok("test");
}
[Route("")]
public IHttpActionResult Post(string order)
{
return Ok(order);
}
}
: Ben client.PostAsJsonAsync()
kullandığınızda, bu Method Not Allowed
hata
GlobalConfiguration.Configure(APIWebFormsProject.API.WebApiConfig.Register);
Ama gösteriyor benim hizmet yöntemlerini uygulamak am nasıl budur. Çeşitli SO soruları denedim ama cevaplarının hiçbiri yardımcı olmadı.
Denedim Ne:
WebDAV
modülü kaldırıldı.Eklenme yöntemine
[HttpPost]
özniteliği eklendi.
API'ye erişmek için "http://localhost:56697/api/forms/" URL'sini kullanıyorum. Ancak "http://localhost:56697/api/forms" ve "http://localhost:56697/api/forms/test" da denedim. Obsidian Phoenix tarafından önerildiği gibi
GÜNCELLEME
Ben [HMACAuthentication]
özniteliği olmadan çalıştırmak başardı. Ancak bunu HMAC kimlik doğrulamasıyla uygulamak istiyorum. Peki bunun nedenleri neler olabilir?
yerine Denedim 'RouteTable.Routes.MapHttpRoute' – MethodMan
@MethodMan ait' GlobalConfiguration.Configuration.Routes.MapHttpRoute' kullanmak gerekir. Hala çalışmıyor. Ve üzgünüm yanlış yazdım. 'Yöntem İzin Verilmiyor' hatası. –
Sadece bir çek, 'config.MapHttpAttributeRoutes();' var mı? ' Rota yapılandırmanızın bir parçası olarak. Burada 'config', WebApiConfig – singsuyash