SpringBootSecurity学习(04)网页版登录其它授权和登录处理

其它授权配置

security的配置类中,对所有路径进行了统一授权配置。但是有的内容我们也需要让未登录游客有权限访问,比如js,css等静态文件,还有一些宣传页面等等。这些路径可以单独配置:

我们来试验一些,springboot项目的试图页面一般放在resource文件夹下面的templates文件夹下。而静态文件一般放在resource文件夹下面的static文件夹下。我们来建立一个test.css文件,

随便写点内容,启动项目看看效果:

可以看到在未登录的情况下是可以访问的。也可以弄一个简单的广告页面查看效果,此处不再演示。关于授权,下面是一些总结:

登录成功处理器

现在我们登录成功的时候直接跳转到了默认页面。有时候登录操作要求要记录一下日志再跳转,或者登录成功后执行一些其它逻辑再跳转,我们可以增加一个登录成功处理器LoginSuccessHandler,这个类需要实现 AuthenticationSuccessHandler 接口,并实现onAuthenticationSuccess方法:

下一步需要在配置类中,配饰成功处理器:

重启登录可以看到,控制台成功打印了语句:

但是此时没有跳转到默认页面,这时候默认页面的配置以及没有用了,我们需要在成功处理器中手动跳转:

这时候再登录就可以了。defaultSuccessUrl的配置也可以删掉了。security不仅可以配置登录成功处理器,还可以配置登录失败的,可以在http.formLogin()下调用failureHandler()配置。登陆失败处理器需要实现 AuthenticationFailureHandler 接扣,并实现 onAuthenticationFailure方法。不过实际中登录失败的原因很多,比如乱输入账号等等,所以除了特殊情况,一般情况不进行失败处理。
除了登录的处理还有一些其它的处理,比如权限不足的处理,手动退出的处理等等,后面会重点讨论权限不足处理器。

代码地址:https://gitee.com/blueses/spring-boot-security 04

原文地址:https://www.cnblogs.com/guos/p/11609575.html

时间: 2024-07-31 08:04:33

SpringBootSecurity学习(04)网页版登录其它授权和登录处理的相关文章

如何登录TOM邮箱网页版,TOM个人邮箱登录

如何登录网页版的TOM邮箱?登录后又该如何使用呢?今天,小编就为大家介绍一下TOM网页版邮箱登录方法登录方法百度搜索TOM-vip邮箱(如知道网址可直接在浏览器输入),点击搜索,进入第一条输入用户名.选择后缀.输入密码,点击登录 登录成功,随后即可正常使用 使用方法收信与发信:邮箱的左上角有"收信"及"写信"按键,点击即可进行相应操作误删恢复:在"已删除"中可以将删除了的邮件恢复或彻底删除邮件撤回--误发邮件可以在已发送→邮件撤回进行撤回. 原文

CentOS6.5下通过Shell修改MySQL初始密码,开启远程登录,授权远程登录用户

CentOS6.5下通过Shell修改MySQL初始密码,开启远程登录,授权远程登录用户: 最近在写一个自动化部署的Shell脚本,需要通过Shell修改MySQL初始密码,开启远程登录,授权远程登录用户, 经过一番查找和实验,得到以下几个命令,给大家分享一下: 修改初始密码:mysqladmin -uroot -pvyCE2UwSaqx3xofR password "123456" 开启远程登录,授权远程登录用户:mysql -uroot -proot -e "grant

h5 网页版的微博微信QQ登录

一:微博 1,先说微博吧,首先你的去http://open.weibo.com/wiki/先注册账号,通过验证审核.然后的创建网页应用.微博审核不通过的原因就是域名和网站地址,一定要按实际写的.一定要记得在微博这里设置回调页.然后根据微博开发文档一步一步下来. 2.微博的获取code的地址,是不用urlencode编码的,这个跟微信QQ不同.从客服端获取到code之后,我们是传入服务端的.因为微博第获取acces_token必须要求post请求,微博后台做了不能跨域这是第一个原因.第二个原因是a

SpringBootSecurity学习(12)前后端分离版之简单登录

前后端分离 前面讨论了springboot下security很多常用的功能,其它的功能建议参考官方文档学习.网页版登录的形式现在已经不是最流行的了,最流行的是前后端分离的登录方式,前端单独成为一个项目,与后台的交互,包括登录认证和授权都是由异步接口来实现.在前后端不分离的应用模式中,前端页面看到的效果都是由后端控制,由后端渲染页面或重定向,也就是后端需要控制前端的展示,前端与后端的耦合度很高.这种应用模式比较适合纯网页应用, 但是当后端对接App时,App可能并不需要后端返回一个HTML网页,而

利用 JavaScript SDK 部署网页版“Facebook 登录”

利用 JavaScript SDK 部署网页版"Facebook 登录" 通过采用 Javascript 版 Facebook SDK 的"Facebook 登录",用户可以使用 Facebook 凭据登录您的网页.即使您因为一些原因而无法使用我们的 JavaScript SDK,也一样可以实施"Facebook 登录". 要在不使用 JavaScript SDK 的情况下实施"Facebook 登录",请参阅手动构建登录流程

SpringBootSecurity学习(13)前后端分离版之JWT

JWT 使用 前面简单介绍了把默认的页面登录改为前后端分离的接口异步登录的方法,可以帮我们实现基本的前后端分离登录功能.但是这种基本的登录和前面的页面登录还有一个一样的地方,就是使用session和cookie来维护登录状态,这种方法的问题在于,扩展性不好.单机当然没有问题,如果是服务器集群,或者是跨域的服务导向架构,就要求 session 数据共享,每台服务器都能够读取 session. 一种解决方案是 session 数据持久化,写入redis或别的持久层.各种服务收到请求后,都向持久层请求

PHP版微信第三方实现一键登录及获取用户信息的方法

本文实例讲述了PHP版微信第三方实现一键登录及获取用户信息的方法.分享给大家供大家参考,具体如下: 注意,要使用微信在第三方网页登录是需要"服务号"才可以哦,所以必须到官方申请. 一开始你需要进入微信公众平台开启开发模式,并且填写oauth2的回调地址,地址填写你项目的域名就可以了.比如:www.baidu.com或zhidao.baidu.com.如果你的项目在二级域名就写二级域名 前端url授权地址,在url中填写appid与你项目中方法中的oauth的地址,具体在下面的代码中可以

微信网页版登陆实现

1. 每打开一次微信网页版页面的时候会随机生成一个含有唯一 uid 的二维码,每次刷新页面都会不一样(这个可以保证一个 uid 只可以绑定一个账号和密码,如果一个 uid 可以绑定多个账号和密码,那么很可能你的电脑会登陆别人的微信哦): 确实返回了唯一 id,但目的是为了识别用户身份,而且实际上打开这个页面的时候浏览器已经和 Server 创建了一个长连接等待确认信息. 查看 http://wx.qq.com 的源码可以轻易看出来,其实这个页面加载完毕的同时,也已经把很多登录后才需要的相关资源都

第三方登录微信授权

工作中遇到了微信授权,记录一下做个笔记,省了以后忘了 [微信公众平台|开发文档] http://mp.weixin.qq.com/wiki/home/. 首先,啥时候会用到微信授权 用户想在微信上访问第三方网页,需要微信授权.授权之后可以获取到用户信息 微信授权分为两种:snsapi_base(用户无感知的,可以叫静默授权)和snsapi_userinfo(需要用户手动同意的授权,不知道别名叫爪子) 其次,微信授权的流程 1 第一步:用户同意授权,获取code 2 第二步:通过code换取网页授