我正在尝试登录用户的详细信息谁是通过websocket连接在springboot2。为此,我目前正在使用simpuserregistry查找已连接Simpuser的列表。
从SpringBoot2.4开始,我注意到simpuser类有一个getprincipal()方法,它返回一个通用的principal对象。由于每个用户都应该通过springsecurity的机制登录,我以为我可以将其转换为springsecurity的userdetails来获得登录的用户,但我意识到事实并非如此。
有人知道我如何使用getprincipal或其他方法登录userdetails吗?
1条答案
按热度按时间ovfsdjhp1#
首先,让我们弄清楚
getPrincipal()
使用websocket,您必须通过Interceptor
(据我所知,springsecurity不会自动执行此操作)。正确执行上述操作后,现在可以使用
getPrincipal ()
方法。它将返回被验证主体的身份(可能是用户名、电子邮件等)您可以使用如下代码: