Spring Security笔记:使用数据库进行用户认证(form login using database) - 菩提树下的杨过 - 博客园
2014-08-12 14:12
573 查看
body
{
font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI",Tahoma,Helvetica,Sans-Serif,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif;
font-size: 10.5pt;
line-height: 1.5;
}
html, body
{
}
h1 {
font-size:1.5em;
font-weight:bold;
}
h2 {
font-size:1.4em;
font-weight:bold;
}
h3 {
font-size:1.3em;
font-weight:bold;
}
h4 {
font-size:1.2em;
font-weight:bold;
}
h5 {
font-size:1.1em;
font-weight:bold;
}
h6 {
font-size:1.0em;
font-weight:bold;
}
img {
border:0;
max-width: 100%;
}
blockquote {
margin-top:0px;
margin-bottom:0px;
}
table {
border-collapse:collapse;
border:1px solid #bbbbbb;
}
td {
border-collapse:collapse;
border:1px solid #bbbbbb;
}
Spring Security笔记:使用数据库进行用户认证(form login using database) - 菩提树下的杨过 - 博客园在前一节,学习了如何自定义登录页,但是用户名、密码仍然是配置在xml中的,这样显然太非主流,本节将学习如何把用户名/密码/角色存储在db中,通过db来实现用户认证
一、项目结构
hello.jsp
注意一下:14、27、35这三行,它们演示了如何在jsp端判断用户具有的角色权限、是否已登录等用法
403.jsp
403.jsp
admin.jsp
admin.jsp
因为在xml中已经配置了/admin开头的请求url,必须具有ADMIN角色权限,所以admin.jsp端反而不用任何额外的判断了
文中示例源代码下载:SpringSecurity-LoginForm-Database-XML.zip
参考文章: Spring Security Form Login Using Database
来自为知笔记(Wiz)
{
font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI",Tahoma,Helvetica,Sans-Serif,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif;
font-size: 10.5pt;
line-height: 1.5;
}
html, body
{
}
h1 {
font-size:1.5em;
font-weight:bold;
}
h2 {
font-size:1.4em;
font-weight:bold;
}
h3 {
font-size:1.3em;
font-weight:bold;
}
h4 {
font-size:1.2em;
font-weight:bold;
}
h5 {
font-size:1.1em;
font-weight:bold;
}
h6 {
font-size:1.0em;
font-weight:bold;
}
img {
border:0;
max-width: 100%;
}
blockquote {
margin-top:0px;
margin-bottom:0px;
}
table {
border-collapse:collapse;
border:1px solid #bbbbbb;
}
td {
border-collapse:collapse;
border:1px solid #bbbbbb;
}
Spring Security笔记:使用数据库进行用户认证(form login using database) - 菩提树下的杨过 - 博客园在前一节,学习了如何自定义登录页,但是用户名、密码仍然是配置在xml中的,这样显然太非主流,本节将学习如何把用户名/密码/角色存储在db中,通过db来实现用户认证
一、项目结构
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@taglib prefix="sec" uri="http://www.springframework.org/security/tags"%> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>${title}</title> </head> <body> <h1>Title : ${title}</h1> <h1>Message : ${message}</h1> <sec:authorize access="hasRole('POWER')"> <!-- For login user --> <c:url value="/j_spring_security_logout" var="logoutUrl" /> <form action="${logoutUrl}" method="post" id="logoutForm"> <input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}" /> </form> <script> function formSubmit() { document.getElementById("logoutForm").submit(); } </script> <c:if test="${pageContext.request.userPrincipal.name != null}"> <h2> User : ${pageContext.request.userPrincipal.name} | <a href="javascript:formSubmit()"> Logout</a> | <a href="admin">admin</a> </h2> </c:if> </sec:authorize> <sec:authorize access="isAnonymous()"> <br /> <h2> <a href="login">login</a> </h2> </sec:authorize> </body> </html>
hello.jsp
注意一下:14、27、35这三行,它们演示了如何在jsp端判断用户具有的角色权限、是否已登录等用法
403.jsp
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <html> <body> <h1>HTTP Status 403 - Access is denied</h1> <c:choose> <c:when test="${empty username}"> <h2>You do not have permission to access this page!</h2> </c:when> <c:otherwise> <h2> Username : ${username} <br /> You do not have permission to access this page! </h2> </c:otherwise> </c:choose> </body> </html>
403.jsp
admin.jsp
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@page session="true"%> <html> <body> <h1>Title : ${title}</h1> <h1>Message : ${message}</h1> <c:url value="/j_spring_security_logout" var="logoutUrl" /> <form action="${logoutUrl}" method="post" id="logoutForm"> <input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}" /> </form> <script> function formSubmit() { document.getElementById("logoutForm").submit(); } </script> <c:if test="${pageContext.request.userPrincipal.name != null}"> <h2> Welcome : ${pageContext.request.userPrincipal.name} | <a href="javascript:formSubmit()"> Logout</a> | <a href="welcome">welcome</a> </h2> </c:if> </body> </html>
admin.jsp
因为在xml中已经配置了/admin开头的请求url,必须具有ADMIN角色权限,所以admin.jsp端反而不用任何额外的判断了
文中示例源代码下载:SpringSecurity-LoginForm-Database-XML.zip
参考文章: Spring Security Form Login Using Database
来自为知笔记(Wiz)
相关文章推荐
- Spring Security笔记:使用数据库进行用户认证(form login using database)
- Spring Security笔记:使用数据库进行用户认证(form login using database)
- Spring Security进阶身份认证之使用数据库中的用户进行身份认证(附源码)
- Spring Security 使用数据库用户进行认证
- openfire 使用已有的数据库作为用户认证数据库 Custom Database Integration Guide
- Spring Security使用数据库中的用户进行身份认证
- 在Tomcat 5.5 中使用 LDAP 进行用户认证
- Objective-C ,ios,iphone开发基础:ios数据库(The SQLite Database),使用终端进行简单的数据库操作
- 遇到当试图还原 master 数据库时,必须以单用户模式使用 RESTORE DATABASE.
- Oracle中对用户所能使用的数据库资源进行限制
- Objective-C ,ios,iphone开发基础:ios数据库(The SQLite Database),使用终端进行简单的数据库操作
- HTML5项目笔记5:使用HTML5 WebDataBase设计离线数据库
- Spring Security教程(6)---- 使用数据库管理用户及权限
- 一步一步SharePoint 2007之十一:实现Form认证(1)——生成用户数据库
- JAVA中使用LDAP进行用户认证
- 使用PHP进行用户身份认证
- 遇到当试图还原 master 数据库时,必须以单用户模式使用 RESTORE DATABASE.的解决办法
- JAVA 使用哈希表操作数据库的例子 Using Hashtables to Store & Extract results from a Database.
- 使用Form认证实现用户登录 (LoginView的使用)
- 使用Java Mail Authenticator子类进行用户认证来发送电子邮件示例