我正在使用Spring MVC和Spring Security 3.0.6.RELEASE版本。在我的JSP中,获取用户名最简单的方法是什么?或者仅仅知道用户是否已登录?我能想到两种方式:
1. 使用脚本片段
使用像这样的脚本片段来确定用户是否已登录:
<%=org.springframework.security.core.context.SecurityContextHolder.getContext()
.getAuthentication().getPrincipal().equals("anonymousUser")
? "false":"true"%>
我不喜欢使用脚本片段,但我想在一些标签中使用它,这需要将其作为页面属性放回。
2. 使用SecurityContextHolder
我可以再次从我的@Controller中使用SecurityContextHolder,并将其放在模型上。但我需要在每个页面上都用到这个,所以我不想在每个控制器中都添加这个逻辑。
我猜应该有一种更简洁的方法来实现这个...