我已经开始切换我的应用程序以使用Spring Security。我有一个自定义UserDetailsServiceImpl
,它返回我的自定义UserDetails
,其中包含标准的Spring内容(角色等),以及一些特定于应用程序的引用,IE:currentWorkspace
。
我正在跟踪数据库中的currentWorkspace
,并在初始loadUserByUsername
中正确加载。在我的Spring MVC中,当我在UserDetails
currentWorkspace
中更改某些内容时,如何触发UserDetails
的重新加载,或修改当前的Principal
并将其推入会议代替过时的会议?
是否只是在我的loadUserByUsername
中调用UserDetailsService
这么简单,Spring会处理剩下的事情吗?我是否需要弄乱SecurityContextHolder.getContext().getAuthentication()
并在那里设置一些东西?我认为这很简单,但无法弄清楚该怎么做。