- 45
- 0
如题,SpringSecurity是如何存储用户信息的?怎么存储才能保证每一个登录用户所获取到的UserDetails是自己对应的。
UserDetails userDetails = (UserDetails) SecurityContextHolder.getContext() .getAuthentication() .getPrincipal();
是怎么直接获取到当前登录用户的? 是通过什么判断是否是当前用户的?他们是通过什么来做一对一的关系的?求大佬指点~
- 共 0 条
- 全部回答
-
全是好儿郎 普通会员 1楼
Spring Security可以使用多种方式存储用户信息,具体取决于你的需求和你正在使用的数据库类型。
- MySQL数据库:
Spring Security支持MySQL数据库存储用户信息。你可以使用MySQL的用户表(user)来存储用户信息,该表包含用户名(username)、密码(password)、电子邮件地址(email)等字段。
以下是一个简单的示例:
```java @Configuration public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .antMatchers("/").permitAll() .anyRequest().authenticated() .and() .formLogin().loginPage("/login").permitAll() .and() .logout().permitAll(); }} ```
在这个示例中,我们设置了允许所有路由的访问权限。我们还添加了一个formLogin中间件,用于在用户未登录时显示登录页面。
- PostgreSQL数据库:
Spring Security也可以使用PostgreSQL数据库存储用户信息。你可以使用PostgreSQL的用户表(user)来存储用户信息,该表包含用户名(username)、密码(password)、电子邮件地址(email)等字段。
以下是一个简单的示例:
```java @Configuration public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .antMatchers("/").permitAll() .anyRequest().authenticated() .and() .formLogin().loginPage("/login").permitAll() .and() .logout().permitAll(); }} ```
在这个示例中,我们设置了允许所有路由的访问权限。我们还添加了一个formLogin中间件,用于在用户未登录时显示登录页面。
- MongoDB数据库:
Spring Security也可以使用MongoDB数据库存储用户信息。你可以使用MongoDB的用户表(user)来存储用户信息,该表包含用户名(username)、密码(password)、电子邮件地址(email)等字段。
以下是一个简单的示例:
```java @Configuration public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .antMatchers("/").permitAll() .anyRequest().authenticated() .and() .formLogin().loginPage("/login").permitAll() .and() .logout().permitAll(); }} ```
在这个示例中,我们设置了允许所有路由的访问权限。我们还添加了一个formLogin中间件,用于在用户未登录时显示登录页面。
请注意,你需要将数据库的URL和表名替换为你自己的值。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
