使用 HTTPS 和 JAAS 上传 Flex 文件?

发布于 2024-08-15 20:00:12 字数 354 浏览 4 评论 0原文

我们正在尝试将文件从 Flex 客户端上传到 Java EE 应用程序。

  • 在完整的 HTTPS 环境中,
  • Java EE 服务器是 JBoss 5
  • 使用 BlazeDS“自定义”身份验证(通过 Flex 表单输入用户名和密码)
  • 使用 BlazeDS 每会话身份验证

在常规 AMF 调用中,我们可以访问用户主体并使用角色机制。

但是,在我们的上传 servlet 中,我们无法访问用户主体。

request.getUserPrincipal() // returns null

如何解决这个问题?

We're trying to upload a file from a flex client to a Java EE app.

  • In a full HTTPS environment
  • Java EE server is JBoss 5
  • Using BlazeDS 'Custom' authentication (username and password are entered trhough a flex form)
  • Using BlazeDS per session authentication

In regular AMF calls, we can access user principal and use role mecanism.

However, in our upload servlet, we have no access to user principal.

request.getUserPrincipal() // returns null

How to fix this ?

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

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

发布评论

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

评论(2

仙气飘飘 2024-08-22 20:00:12

不久前,一个人在我的一篇博客文章上评论说 https + flex + firefox 不起作用:

您是否尝试过通过 https 在 Firefox 中上传文件?好吧,别费心了,这是不可能的! Adobe 将其归咎于 Firefox,并把头埋在沙子里。请阅读 Adob​​e 令人咬牙切齿且荒谬的声明:
http://bugs.adobe.com/jira/browse/FP-201

最终他们举手表示无法解决,尽管他们说“我们理解这是一个严重的问题并致力于解决它”,但建议您:
1)以不同的方式将文件发送到您的服务器
2)寻找另一种身份验证形式

这可能不再是这种情况 - 注册并查看链接的错误是否仍未解决。

另外 - 这可能不是你的确切问题(至少现在还不是) - 我只是给出指示。

A while ago a guy commented on a blog post of mine that https + flex + firefox doesn't work:

have you tried uploading a file in firefox via https? Well, don’t bother, it can’t be done! Adobe blames it on firefox and puts their head in the sand. Read the teeth gnashing and ridiculous claims of Adobe here:
http://bugs.adobe.com/jira/browse/FP-201

Ultimately they threw up their hands and said it couldn’t be fixed, and, although said ‘We understand that this is a serious issue and are committed to resolving it’ suggested that either you:
1) Send the file to your server in a different way
2) Find another form of authentication

This may no longer be the case - register and see if the linked bug is still unresolved.

Also - this might not be your exact issue (at least not yet) - I'm just giving pointers.

一个人的夜不怕黑 2024-08-22 20:00:12

从你的帖子来看,由于我没有使用过 BlazeDS,我无法判断你是否具体遇到了这个问题,但在我看来,你是这样的——

看看你的服务器日志,或者尝试使用像 Fiddler 这样的 Web 调试器(您可以调整它以以明文形式显示 HTTPS 流量),并且您'您将看到 Flash 使用 FileReference.upload() 阻止自定义 HTTP 身份验证标头。为什么会这样,我不知道,但除了手动制作一些东西或你自己的东西之外,我不知道有什么解决方法。

From your post, and since I haven't used BlazeDS, I can't tell whether you're running into this issue specifically, but it sounds to me like you are --

Take a look at your server logs, or try using a Web debugger like Fiddler (you can tweak it to reveal HTTPS traffic in clear text), and you'll see that Flash blocks custom HTTP auth headers with FileReference.upload(). Why it does, I've no idea, but there's no workaround I know of, other than crafting something or your own manually.

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