swirlwater / Librarian-server

图书馆管理系统后台
MIT License
2 stars 0 forks source link

UserController里面的更新用户信息功能 #1

Open Albert-Lau-1997 opened 1 year ago

Albert-Lau-1997 commented 1 year ago

UserController里面的更新用户信息功能看起来好像有点问题,你这边好像用从Security上下文获取的当前登录信息覆盖掉了原本用户输入的信息,貌似好像更改不能生效

swirlwater commented 1 year ago

感谢您的来信!更新用户信息是更改昵称、性别、手机号等信息,非提供用户名、密码的修改。由于用户名和密码不做修改,所以这里直接从security中获取当前登录用户的用户名和密码,将其封装进将修改的新user中。

Albert-Lau-1997 commented 1 year ago

还有一个问题就是UserServiceImpl里面得login方法没有走AuthenticationProvider是怎么进行数据库查询并登录呀。

swirlwater commented 1 year ago

我们已经在UserServiceImpl类的login方法里将用户名和密码封装为AuthenticationToken交由authenticationManager管理了,authenticationManager会调用实现UserDetailsService接口的UserDetailServiceImpl类,数据库查询在此类的实现方法中进行。