2017-07-25 130 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

明白了!谢谢!! –