2017-07-25 117 views
0

我在讀https://docs.microsoft.com/en-us/aspnet....關於安全性,以防止AJAX請求到另一個域,並讓我懷疑,如果我啓用此功能,我將能夠從我的Android客戶端發出請求? Cu'z看來,該域名以外的任何內容都不能被請求。是嗎?謝謝!跨源請求WebApi

會是這樣的:

context.OwinContext.Response.Headers.Add("Access-Control-Allow-Origin", new[] { "*" }); 
     using (IUserRepository _repository = new UserRepository(new Data.DataContexts.OAuthServerDataContext())) 
     { 
      var user = _repository.Authenticate(context.UserName, context.Password); 

      if (user == null) 
      { 
       context.SetError("invalid_grant", "The user name or password is incorrect."); 
       return; 
      } 
     } 

回答

1

如果從另一個發出請求,那麼你將需要建立一個訪問控制允許來源頭。如果您不關心安全性,則可以使用*,但最好僅指定您知道需要訪問的域。

非基於瀏覽器的客戶端可能不一定發送Origin標頭(例如郵差),在這種情況下,您可能不需要擔心設置CORS。

您鏈接的文檔是一個好的開始。 This post提供了一個很好的基本示例,如果您想設置全局訪問而不是每個控制器的基礎。

+0

所以,我可以在一個行動(SaveUsers)中設置訪問控制,非瀏覽器客戶端會好嗎?謝謝! –

+0

我在說的是,你可能首先不需要非瀏覽器客戶端的CORS。嘗試一下,如果它不起作用,然後將其添加到您需要的任何域。 – ipshing

+0

明白了!謝謝!! –