解决SpringSecurity 一直登录失败的问题

springsecurity 是spring提供的关于登录授权的框架,他提供了controller层的服务,只需要我们自己实现service层和dao层,以及一些相关的配置

错误结果以及调试信息

笔者初次使用springsecurity,登录一直显示错误,郁闷的一批,代码debug调试结构

调试结果显示service层返回controller层的结果里面 全部正确,最后一个List 参数也符合权限配置

结果仍旧返回失败,经过两个小时的各种跪求,找到了原因。

解决方案

原来,springsecurity 安全认证的方式是,将前端用户输入的密码经行加密,加密方法在如下配置

前端 加密过后的密码会和数据库密码进行对比,由于数据库是我手动插入的没有进行加密,所以导致,框架密码验证不一样,导致登录失败;

修改。将密码加密后插入数据库。

或者,把配置中加密方式注释掉,service层 user 的第二个密码参数这样设置

这里的user 继承了userdetails 是springsecurity里的类。

Spring Security无法跳转页面,一直在login.html页面

解决Spring Security无法跳转页面,一直在login.html页面的方法

在Spring Security中删除配置login-processing-url="/login.html"即可

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • SpringSecurity构建基于JWT的登录认证实现

    最近项目的登录验证部分,采用了 JWT 验证的方式.并且既然采用了 Spring Boot 框架,验证和权限管理这部分,就自然用了 Spring Security.这里记录一下具体实现. 在项目采用 JWT 方案前,有必要先了解它的特性和适用场景,毕竟软件工程里,没有银弹.只有合适的场景,没有万精油的方案. 一言以蔽之,JWT 可以携带非敏感信息,并具有不可篡改性.可以通过验证是否被篡改,以及读取信息内容,完成网络认证的三个问题:"你是谁"."你有哪些权限".&qu

  • SpringSecurity整合springBoot、redis实现登录互踢功能

    背景 基于我的文章--<SpringSecurity整合springBoot.redis token动态url权限校验>.要实现的功能是要实现一个用户不可以同时在两台设备上登录,有两种思路: (1)后来的登录自动踢掉前面的登录. (2)如果用户已经登录,则不允许后来者登录. 需要特别说明的是,项目的基础是已经是redis维护的session. 配置redisHttpSession 设置spring session由redis 管理. 2.1去掉yml中的http session 配置,yml和

  • SpringBoot+SpringSecurity实现基于真实数据的授权认证

    (一)概述 Spring Security是一个功能强大且高度可定制的身份验证和访问控制框架,Spring Security主要做两个事情,认证.授权.我之前写过一篇关于SpringSecurity的博客,但是当时只是介绍了基于mock数据的案例,本期就来介绍一下基于真实数据的认证授权实现. (二)前期项目搭建 为了更好的展示SpringSecurity,我们先搭建一个简单的web项目出来.引入thymeleaf依赖 <dependency> <groupId>org.spring

  • 浅谈SpringSecurity基本原理

    一.SpringSecurity 本质 SpringSecurity 本质是一个过滤器链: 从启动是可以获取到(加载)过滤器链,当执行请求时就会执行相应的过滤器: org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter org.springframework.security.web.context.SecurityContextPersistenceFilter org.sp

  • SpringSecurity从数据库中获取用户信息进行验证的案例详解

    基于 SpringBoot与SpringSecurity整合案例的修改: 数据库 user 表 注,密码是由 BCrypt 算法加密对应用户名所得. root $2a$10$uzHVooZlCWBkaGScKnpha.ZrK31NI89flKkSuTcKYjdc5ihTPtPyq blu $2a$10$mI0TRIcNF4mg34JmH6T1KeystzTWDzWFNL5LQmmlz.fHndcwYHZGe kaka $2a$10$/GMSSJ3AzeeBK3rBC4t8BOZ5zkfb38Il

  • 解决SpringSecurity 一直登录失败的问题

    springsecurity 是spring提供的关于登录授权的框架,他提供了controller层的服务,只需要我们自己实现service层和dao层,以及一些相关的配置 错误结果以及调试信息 笔者初次使用springsecurity,登录一直显示错误,郁闷的一批,代码debug调试结构 调试结果显示service层返回controller层的结果里面 全部正确,最后一个List 参数也符合权限配置 结果仍旧返回失败,经过两个小时的各种跪求,找到了原因. 解决方案 原来,springsecur

  • 轻松解决asp.net用户ASPNET登录失败问题的方法分享

    执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.Data.SqlClient.SqlException: 用户 'XXXASPNET' 登录失败. 今天将网站迁移过来后,就发现这个问题.经过摸索,发现原因是我们登录数据库的角色对数据库的权限不够. 解决办法: 1.打开数据库企业管理器,然后选择数据库---安全性---找到刚才报错的哪个'XXXASPNET' --右键"属性"; 2.选择

  • SQLServer无法打开用户默认数据库 登录失败错误4064的解决方法

    无法打开用户默认数据库,登录失败,其原因是登录帐户的默认数据库被删除. 解决办法是使用管理员帐户修改此登录帐户的默认数据库. 1.使用管理员帐号登入企业管理器,在"对象资源管理器"中,展开"安全性"--"登录名",右键该帐户点击"属性" 2.在"登录属性"的对话框中,第一个"常规"选项卡界面的右边更改默认的数据库. 如果出问题的就是你的管理员帐户,你无法登入企业管理器里修改,可以使用以下

  • sql server 2008 用户 NT AUTHORITY\IUSR 登录失败的解决方法

    用户 'NT AUTHORITY\IUSR' 登录失败. 其实这样的情况,要不就是用户名密码不正确,要不就是用户无法登录sql server 2008.一步一步分析. 1.首先asp连接sql server 2008数据库应该没有问题. 之前我用了多种方法,链接数据库,其实链接2000与2005.2008的无区别 需要注意的是: DataServer = "127.0.0.1" DataServer = "(local)" 都是可以使用的 ConnStr="

  • SQL Server 2008用'sa'登录失败,启用'sa'登录的解决办法

    问题:SQL Server 2008用'sa'登录失败,启用'sa'登录的办法 首先"为什么用sa登录不了,提示登录失败呢?" 当然,自己装SQL Server 2008的时候根本就没有用sa登录的方法,装数据库的时候是用windows身份登录的. 如果要启用用户名为"sa",SQL Server 身份验证,那按照下面的步骤应该可以解决问题了?不敢保证一定可以,但一般都是这么解决的. 1. 首先用windows身份登录,有如下界面 2. 右键实例-->属性,选

  • linux系统重装导致免密码key登录失败的解决方法

    在一台linux机器上ssh远程另外一台linux服务器时候出现: [root@server .ssh]# ssh 192.0.50.80 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

  • IIS APPPOOL\DefaultAppPool 登录失败的解决方法

    用户 'IIS APPPOOL\DefaultAppPool' 登录失败. 我在windows8中安装了iis 之后添加了我做的网站 打开之后提示用户 'IIS APPPOOL\DefaultAppPool' 登录失败. 我再vs2010中能正常运行 最佳答案 这是设置iis应用程序池的设置问题. 我就遇到了这样的问题. 比如我的网站取名myweb,就会默认给你建立一个myweb应用程序池 一开始报http 404.17错误 解决方案: 1. 右键myweb应用程序池,基本设置,选择.net f

  • php出现web系统多域名登录失败的解决方法

    本文实例讲述了php出现web系统多域名登录失败的解决方法,分享给大家供大家参考.具体分析如下: 下面只是简单的逻辑结构,对于正式的系统需要做具体的处理. 这里需要注意的是:加解密一定需要做安全验证.但是这个方法也不够完美,两个站点必须有相同一级域名:另外这种完全基于cookie的方式,安全性不够高 function login() { $info = callloginserver(); //访问登录服务器 if(!empty($info)) //登录成功了 } //用户没有登录,则在本系统中

  • 微信小程序搭建及解决登录失败问题

    等了好久的小程序,终于在近日曝光了.现在就带大家来尝尝鲜.以下是一张随便看看的图. 一.构建微信小程序的步骤 下载开发工具 考虑到微信0.9.092100的Web开发者工具对于登录做了限制,所以下载登录还是需要一点门路的,我在下面有介绍,希望大家耐心的往下面看~下载工具的地址:链接 密码: r3hc. 破解的步骤就是:将破解压缩包的两个文件,放到如下图路径: 这个是MAC路径: 应用程序->微信web开发者工具->显示包内容 /Resources/app.nw/app/dist/compone

  • SQL Server 2008 R2登录失败的解决方法

    为大家分享SQL Server 2008 R2登录失败的解决方法 1.启动SQL Server 2008 Management Studio,会看到 2.里面有一个 身份验证.这个 身份验证 的下拉列表里面有两个选项: Windows 身份验证 和 SQL Server 身份验证. 它们有什么区别: Windows 身份验证是指:你可以使用你电脑Windows系统的用户名和密码进行登入.如果你的电脑没有设置密码,那么就不需要输入用户名和密码,直接点击连接就可以登入. 我们一般使用第二种身份验证:

随机推荐