如何将基本身份验证标头添加到 MediaElement 对安全 URL 资源的源请求?

发布于 2024-12-06 22:13:24 字数 221 浏览 1 评论 0原文

在我的 Silverlight 应用程序中,我使用基本身份验证与 WCF Web 服务进行通信。一切都运行良好,直到我的 MediaElement 尝试请求安全 URL 资源的视频。我收到身份验证对话框。

理想情况下,我想将 UID/PWD 包含在 MediaElement 请求的授权标头中,但我不知道如何执行此操作。

如果这是不可能的,我还能如何将媒体元素的访问限制为仅限登录用户的应用程序?

In my Silverlight applicatin, I am using Basic Authentication to communicate with my WCF Web Services. Everything works great, until my MediaElement attempts to request a video of a secure URL resource. I get the authentication dialog.

Ideally, I would like to include the UID/PWD in the Authorization header of the MediaElement's request, but I do not know how to do this.

If this is not possible, how else can I restrict the access of the media element to only my application for the user logged in?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

故事和酒 2024-12-13 22:13:24

我们通过解决方法解决了这个问题...

当我们使用 Web 服务对用户进行身份验证时,我们为会话添加一个服务器端仅 HTTP cookie。

var creds = string.Format("{0}:{1}", user.Username, user.Password);
var bcreds = System.Text.Encoding.UTF8.GetBytes(creds);
var base64Creds = Convert.ToBase64String(bcreds);

HttpCookie httpCookie = new HttpCookie("Authorization", "Basic " + base64Creds);
httpCookie.HttpOnly = true;
HttpContext.Current.Response.Cookies.Add(httpCookie);

然后我们创建了一个自定义 HttpModule 来验证此 cookie 是否可以访问媒体文件。在自定义处理程序中,我们可以确保请求的 IP 地址与会话匹配,并且该请求实际上来自我们的 Silverlight 应用程序。

We solved this with a workaround...

When we authenticate the user with our webservices, we add a server side HTTP only cookie for the session.

var creds = string.Format("{0}:{1}", user.Username, user.Password);
var bcreds = System.Text.Encoding.UTF8.GetBytes(creds);
var base64Creds = Convert.ToBase64String(bcreds);

HttpCookie httpCookie = new HttpCookie("Authorization", "Basic " + base64Creds);
httpCookie.HttpOnly = true;
HttpContext.Current.Response.Cookies.Add(httpCookie);

Then we created a custom HttpModule to validate this cookie for access to the media files. In the custom handler we can make sure that the IP address of the request matches the session and that the request is actually coming from our Silverlight application.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文