首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当经过身份验证的用户访问未受保护的页面时,getRemoteUser()返回null

当经过身份验证的用户访问未受保护的页面时,getRemoteUser()返回null
EN

Stack Overflow用户
提问于 2010-11-17 04:08:42
回答 1查看 4.3K关注 0票数 1

我有一个J2EE web应用程序,既有受保护的页面,也有不受保护的页面。一旦我成功地进行了身份验证并访问了受保护的页面,我就会立即访问未受保护的页面。此时,getRemoteUser()返回null,就好像我从未进行过身份验证一样。这是J2EE安全方面的预期行为吗?

我已经看过servlet规范(2.4)和J2EE教程(1.4)的安全部分,但是我还没有找到任何关于访问不受保护的资源是否应该保留用户身份验证状态的专门评论。

编辑:在呈现未受保护的页面之前,我将在当前HttpServletRequest对象上调用getRemoteUser()。

编辑:我还检查了HttpServletRequest.getRemoteUser()和HttpServletRequest.getUserPrincipal()的JavaDoc,他们也没有对这个问题发表评论。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-11-17 05:11:57

除非您正在使用JAAS (例如:JOSSO),否则它属于RFC-2617 HTTP Authentication: Basic and Digest Access Authentication

然后归结为客户端是否随请求一起发送凭据。对于基本身份验证,这是基于需要凭据的请求的URI。当您访问该树分支之外的路径时,除非遇到401,否则不会发送凭据。

所以,是的,我希望是null。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4198457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档