关于spring security,在action层能获取到登录用户的信息,但是在页面只能获取到"anonymousUser"

惊鸿一瞥 2013-04-26 11:47:49
如题:
关于spring security,在action层能获取到登录用户的信息,但是在页面只能获取到"anonymousUser",权限也是ROLE_ANONYMOUS。

不知道哪里出问题了,按说要取不到都应该取不到信息才对,不能前端取不到,后端却能取到。
...全文
1230 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
简单简单小白 2014-12-01
  • 打赏
  • 举报
回复
引用 7 楼 aa_123a 的回复:
问题解决了,说一下原因。 web服务是部署在tomcat中,比如访问路径应该是:http://127.0.0.1:8080/mywebservice/index.jsp,如果整个访问过程都用这个就好了,但是我在本地配置nginx的反向代理,用本地域名local.mywebservice.com来代替http://127.0.0.1:8080/mywebservice/,这样就导致jsp页面用spring security标签获取不到用户名和用户权限等信息。 Ps:感谢ZuxiangHuang的回答。
这个角色在别的页面可以取到吗
惊鸿一瞥 2013-04-26
  • 打赏
  • 举报
回复
引用 1 楼 ZuxiangHuang 的回复:
直接取session里呢?
${session.SPRING_SECURITY_CONTEXT.authentication.principal.username} 同样获取不到
惊鸿一瞥 2013-04-26
  • 打赏
  • 举报
回复
引用 1 楼 ZuxiangHuang 的回复:
直接取session里呢?
我获取权限用的:<security:authorize ifAnyGranted="ROLE_ANONYMOUS"> 获取用户名用的:<security:authentication property="name" /> session怎么获取这些信息?
zuxianghuang 2013-04-26
  • 打赏
  • 举报
回复
直接取session里呢?
惊鸿一瞥 2013-04-26
  • 打赏
  • 举报
回复
问题解决了,说一下原因。 web服务是部署在tomcat中,比如访问路径应该是:http://127.0.0.1:8080/mywebservice/index.jsp,如果整个访问过程都用这个就好了,但是我在本地配置nginx的反向代理,用本地域名local.mywebservice.com来代替http://127.0.0.1:8080/mywebservice/,这样就导致jsp页面用spring security标签获取不到用户名和用户权限等信息。 Ps:感谢ZuxiangHuang的回答。
惊鸿一瞥 2013-04-26
  • 打赏
  • 举报
回复
引用 5 楼 ZuxiangHuang 的回复:
session里都或取不到? 你说的后端却能取到是怎么取的?
在Action里面: Authentication auth = SecurityContextHolder.getContext().getAuthentication(); auth.getName();
zuxianghuang 2013-04-26
  • 打赏
  • 举报
回复
session里都或取不到? 你说的后端却能取到是怎么取的?
惊鸿一瞥 2013-04-26
  • 打赏
  • 举报
回复

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧