如何将身份验证标头传递给 OData 服务
我我能够使用 ASP.NET 使用服务(根本不是问题)。现在我想创建一个纯 HTML 页面并使用“OData Javascript Library”(datajs) 访问该服务。
如果我禁用身份验证和数据请求,它就可以正常工作。我找不到任何有关如何使用“datajs”发送身份验证标头信息的示例代码(与 OData.Request 和/或 OData.Read 一起使用时)。
谁能帮我解决这个问题吗?
I am following authentication method described at http://blogs.msdn.com/b/astoriateam/archive/2010/07/21/odata-and-authentication-part-6-custom-basic-authentication.aspx
I am able to consume service using ASP.NET (not a problem at all). Now I would like to create a plain HTML page and access the service using "OData Javascript Library" (datajs).
If I disable authentication and request for data, it works fine. I could not find any sample code on how to send authentication header information using "datajs" (when used with OData.Request and/or OData.Read).
Can anyone help me on this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您使用帖子中所述的基本身份验证,则可以使用 OData.request 的请求参数来传入用户名和密码。
http://datajs.codeplex.com/wikipage?title=datajs %20OData%20API#OData.request
您可以编写如下内容:
请注意,这不适用于跨域 AJAX。
希望这有帮助!
If you're using basic authentication as described in the post, you can use the request parameter of OData.request to pass in the username and password.
http://datajs.codeplex.com/wikipage?title=datajs%20OData%20API#OData.request
You could write something like:
Note that this will not work with cross-domain AJAX.
Hope this helps!
如果您使用 datajs 库进行服务集成,那么您可以使用上述方法进行 odata 服务,也可以使用以下方法,如示例所示。
在这里,我在变量“oHeader”中设置了标头,并使用对凭据进行编码的“btoa”函数传递它。
If you are using datajs library for service integration then you can either use above method to odata service or you can use below method as shown in example.
Here I have setted headers in variable 'oHeader' and passing it using 'btoa' function which encodes credentials.