【问题标题】:Why does "request.getUserPrincipal().getName()" sometimes return a blank string?为什么“request.getUserPrincipal().getName()”有时会返回一个空字符串?
【发布时间】:2010-03-23 13:00:00
【问题描述】:

有人知道,为什么UserPrincipalgetName() 方法有时会提供一个空字符串?大多数时候它会返回正确的用户名,但不是每次都返回。

这种行为确实是随机发生的。我可以启动应用程序,运行命令并且它可以工作。下次我启动应用程序并运行命令时(与以前完全相同!)它不起作用。

有什么想法吗?

【问题讨论】:

  • 您的应用的所有位置都受角色保护吗?
  • 需要更多细节,也许是一个小示例程序。你在使用多线程吗?
  • 看来我的问题有点特定于动作时间......我在我的 java 类的某个地方使用请求对象(通过使用静态数据bean)并且遇到了问题。现在我在请求开始时将 URL 直接保存在我的 databean 中,因此可以随时使用它。它以这种方式完美运行:)
  • 您能否针对刚才描述为“使用静态数据bean”的情况提供更多详细信息和代码示例?这可能是回答这个问题的关键。

标签: java authentication tomcat servlets userprincipal


【解决方案1】:

您说“...启动应用程序并运行命令...”的部分不清楚。

具体涉及哪些步骤?

HTTP 是基于文本的协议。如果您捕获并观察请求和响应,我相信您会观察到可以归因于行为的差异。

我的建议是收集更详细的信息,为您指明解决方案的方向。

【讨论】:

    猜你喜欢
    • 2013-10-22
    • 1970-01-01
    • 2012-03-19
    • 1970-01-01
    • 1970-01-01
    • 2013-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多