文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

详解使用Spring Security进行自动登录验证

2023-05-31 02:16

关注

在之前的博客使用SpringMVC创建Web工程并使用SpringSecurity进行权限控制的详细配置方法 中,我们描述了如何配置一个基于SpringMVC、SpringSecurity框架的网站系统。在这篇博客中,我们将继续描述如何使用Spring Security进行登录验证。
总结一下Spring Security的登录验证关键步骤:

在数据库中建好三张表,即users、authorities和persistent_logins三个。注意字段的定义,不能少,可以多,名字必须按规定来。

在Spring Security的配置文件中,配置好登录跳转的页面,登录处理的页面和加密情况。

在前台的jsp页面中,登录的字段必须和后台users表中的一致,一般都是username和password。

注册页面必须自己写,注册的处理也要自己写。

一、创建数据表

使用Spring Security进行登录验证,需要我们在数据库中建好相应的表,并且字段要和Spring Security内置的字段一致。主要有3张表需要建立。一是users表,包含用户名和密码以及用户状态的表;第二个是authorities表,表明该用户角色的,方便做角色控制,比如是ROLE_USER还是ROLE_ADMIN(比如admin页面可能需要用户的ROLE_ADMIN权限,而ROLE_USER权限无法登录这个管理页面);最后一个是persistent_logins表,是登录状态的记录表,主要用来提供支持“记住我”功能的。三张表的创建语句如下:

#create users tableCREATE TABLE `users` ( `username` varchar(100) NOT NULL, `password` varchar(100) NOT NULL, `enabled` tinyint(1) NOT NULL DEFAULT '1', UNIQUE KEY `account` (`username`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;#create authorities tableCREATE TABLE `authorities` ( `username` varchar(50) NOT NULL, `authority` varchar(50) DEFAULT NULL, PRIMARY KEY (`username`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;#create persistent_logins tableCREATE TABLE `persistent_logins` ( `username` varchar(64) NOT NULL, `series` varchar(64) NOT NULL, `token` varchar(64) NOT NULL, `last_used` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`series`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 资料下载
  • 历年真题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯