Spring Security 自定义登录页面、连接数据库进行认证、url授权, 方法授权两种方式

目录

一、自定义登录页面

  • 在快速上手中,你可能会想知道登录页面从哪里来的?因为我们并没有提供任何的HTML或JSP文件。Spring Security的默认配置没有明确设定一个登录页面的URL,因此Spring Security会根据启用的功能自动生成一个登录页面URL,并使用默认URL处理登录的提交内容,登录后跳转的到默认URL等等。尽管自动生成的登录页面很方便 快速启动和运行,但大多数应用程序都希望定义自己的登录页面

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、连接数据库认证

  • 前边的例子我们是将用户信息存储在内存中,实际项目中用户信息存储在数据库中,本节实现从数据库读取用户信息。根据前边对认证流程研究,只需要重新定义UserDetailService即可实现根据用户账号查询数据库。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

三、会话

  • 用户认证通过后,为了避免用户的每次操作都进行认证,可将用户的信息保存在会话中。spring security提供会话管理,认证通过后将身份信息放入SecurityContextHolder上下文,SecurityContext当前线程进行绑定,方便获取用户身份。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    会话控制
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

四、注销功能

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、授权

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.1 web授权

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.2 方法授权

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Spring Security是一个用于在Java应用程序中实现身份验证和授权的框架。它提供了一种可靠和灵活的方法来管理应用程序中的权限。通过使用Spring Security,可以轻松地自定义登录授权过程。 首先,我们需要创建一个实现`UserDetailsService`接口的类来处理用户的身份验证。在这个类中,我们可以自定义用户的登录逻辑,例如验证用户名和密码。我们可以使用Spring Security提供的各种验证方法来验证用户的身份。 接下来,我们需要配置Spring Security来处理用户的授权。可以使用`WebSecurityConfigurerAdapter`类扩展一个配置类,并覆盖其中的`configure`方法。在这个方法中,我们可以指定哪些URL需要受到保护,哪些URL可以公开访问。例如,我们可以使用`antMatchers`方法来指定URL模式,然后使用`hasAuthority`或`hasRole`方法来指定用户需要具备的权限或角色。 另外,我们还可以使用`@PreAuthorize`注解来在方法级别上进行授权。可以在需要进行授权方法上添加该注解,并指定用户需要具备的权限或角色。 最后,我们还可以通过自定义`AuthenticationProvider`来实现更复杂的授权逻辑。可以创建一个实现该接口的类,并在其中实现自定义的身份验证和授权逻辑。然后可以将这个自定义的`AuthenticationProvider`添加到Spring Security的配置中。 通过以上的方法,我们可以灵活地自定义登录授权过程。Spring Security提供了丰富的配置选项和接口来满足各种不同的授权需求。使用Spring Security,我们可以有效地管理应用程序中的权限,并确保只有具备合适权限的用户可以访问受保护的资源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

white camel

感谢支持~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值