在之前的博客使用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
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1142
183.71 KB下载数642
644.84 KB下载数2755