- 浏览: 640478 次
- 性别:
- 来自: 昆明
文章分类
最新评论
-
droid2017:
...
读书笔记:《算法图解》第三章 递归 -
droid2017:
[b][/b][flash=200,200][flash=20 ...
读书笔记:《算法图解》第三章 递归 -
Yunba云巴:
我们https://yunba.io/也是基于MQTT协议实现 ...
mqtt向android推送消息(一)——发送端使用.net -
FengZiIT:
GoEasyweb 推送基于websocket 和pollin ...
mqtt向android推送消息(一)——发送端使用.net -
xinxinlong:
tedeum 写道produces 注意版本问题,老的版本不支 ...
解决Spring MVC ResponseBody 乱码问题
1、配置
<?xml version="1.0" encoding="UTF-8"?>
<b:beans xmlns="http://www.springframework.org/schema/security"
xmlns:b="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.0.4.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
">
<!-- 使用注解 -->
<global-method-security pre-post-annotations="enabled">
</global-method-security>
<http use-expressions="true" auto-config="true" >
<intercept-url pattern="/**/*" access="permitAll" />
<form-login login-page="/user/login.page" default-target-url="/index.page" authentication-failure-url="/user/login.page?login_error=1"/>
<http-basic/>
<logout logout-success-url="/user/logout.page"/>
<remember-me />
</http>
<!-- 密码编码 -->
<b:bean id="passwordEncoder" class="org.springframework.security.authentication.encoding.Md5PasswordEncoder"></b:bean>
<!-- 认证管理,基于数据库 -->
<authentication-manager>
<authentication-provider>
<!-- <password-encoder hash="md5"/> -->
<password-encoder ref="passwordEncoder" >
<salt-source user-property="username" />
</password-encoder>
<jdbc-user-service data-source-ref="oracleDataSource"/>
</authentication-provider>
</authentication-manager>
</b:beans>
2、数据库Schema
create table users( username varchar_ignorecase(50) not null primary key, password varchar_ignorecase(50) not null, enabled boolean not null); create table authorities ( username varchar_ignorecase(50) not null, authority varchar_ignorecase(50) not null, constraint fk_authorities_users foreign key(username) references users(username)); create unique index ix_auth_username on authorities (username,authority);
3、使用
3.1用户注册
//密码进行编码保存
password = passwordEncoder.encodePassword(password, username);
Vector<GrantedAuthority> authList = new Vector<GrantedAuthority>();
//一定要加Authority,不然登陆不了
authList.add(new GrantedAuthorityImpl("ROLE_USERS"));
User user = new User(username, password, true, true, true, true, authList);
userDetailsManager.createUser(user);
return "redirect:" + referer;
3.2登陆页面
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix='c' uri='http://java.sun.com/jstl/core_rt' %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<c:if test="${not empty param.login_error}">
<font color="red">
Your login attempt was not successful, try again.<br/><br/>
Reason: <c:out value="${SPRING_SECURITY_LAST_EXCEPTION.message}"/>.
</font>
</c:if>
<form name="f" action="<c:url value='/j_spring_security_check'/>" method="POST">
<table>
<tr><td>User:</td><td><input type='text' name='j_username' value='<c:if test="${not empty param.login_error}"><c:out value="${SPRING_SECURITY_LAST_USERNAME}"/></c:if>'/></td></tr>
<tr><td>Password:</td><td><input type='password' name='j_password'></td></tr>
<tr><td><input type="checkbox" name="_spring_security_remember_me"></td><td>Don't ask for my password for two weeks</td></tr>
<tr><td colspan='2'><input name="submit" type="submit"></td></tr>
<tr><td colspan='2'><input name="reset" type="reset"></td></tr>
</table>
</form>
</body>
</html>
3.3应用
<sec:authorize access="hasRole('ROLE_USERS')"><a href="#fast_pub">发表文章</a> <a href="./content/editcatalog.page">管理分类</a> <a href="<c:url value="/j_spring_security_logout"/>">注销</a> </sec:authorize>
上面代码写在jsp页面里面,意思是拥有ROLE_USERS角色的用户才能访问
发表评论
-
终于把B站滑动验证(getest)搞定了,网上例子早已失效
2019-07-16 11:33 1517众所周知,B 站是央视认证的一个学习平台。我在周末固定时 ... -
使用Python实现了B站的滑动验证和自动登录
2019-07-08 10:20 1736基本原理就是利用selenium模拟操作实现登录,我的目的是 ... -
你听说过吗:使用网页技术开发桌面串口助手工具
2018-12-12 16:30 2276串口助手是嵌入式开发中常用到的一个桌面工具,用于串口调试,而 ... -
编程直播室第二期:CadLib 授权机制研究与实现
2018-06-12 19:42 1707以前做一个软件的制 ... -
编程星球——水·滴创刊号 20180514
2018-05-14 21:11 770不定期整理编程直播室、水·滴专题,第一期: -
能不能三、五小时入门Python编程
2018-05-14 13:40 1479今天,在一个微信群里有人问: 其实,我想说 编程直播 ... -
编程星球主题设定
2018-04-18 14:28 924编程星球目前主要设置两个主题,一个是碎片化的水·滴,水、水 ... -
直播编码
2018-04-18 10:57 1071为庆祝简书专题《我爱编程》收录文章数量超过1W,先启动在知 ... -
使用Python爬取网站数据分析
2018-04-04 13:56 1884玩Chat分享有一段时间了,回过头来看看从数据爬取(如何用 ... -
源码发布:一个Angular写得Markdown编辑器
2018-03-16 08:53 1818一直想写一个Angular2+的分享,但是没有一个好的 ... -
非官方GitChat客户端及代码发布
2018-02-28 23:22 920在我写《使用 Angular2+ 开发 Markdown 编 ... -
代码发布:用 Kotlin 开发 SpringBoot 之 Data JPA
2018-02-09 15:25 1192今天已经把分享的文 ... -
用 Kotlin 开发 SpringBoot 之 Data JPA
2018-02-01 13:34 1062Kotlin 是一个基于 JVM 的新的编程语言,Kotl ... -
TypeScript中的可选属性和只读属性
2018-01-23 16:30 2141可选属性 接口里的属性不全都是必需的。 有些是只在某 ... -
TypeScript使用HashMap
2018-01-20 11:35 3800我不知道大家是怎么使用索引类型的,我是一次想实现HashM ... -
TypeScript 看见未来的 JavaScript
2018-01-19 09:57 591TypeScript也可以看作是“更好的JavaScript ... -
原色2017
2018-01-16 00:01 893整理手机相册,发现2017真是多姿多彩。 办公楼旁的玉 ... -
读书笔记:《算法图解》第三章 递归
2018-01-15 14:21 1797定义: 在数学与计算机科学中,是指在函数的定义中使用函数 ... -
读书笔记:《算法图解》第二章 选择排序
2018-01-11 13:57 791数组:所谓数组,是无序的元素序列。数组中的所有元素都具 ... -
读书笔记:《算法图解》第一章 算法简介
2018-01-09 22:17 649二分查找# 二分查找是对半查找,进队列表是有序时有效。 ...
相关推荐
三更springsecurity学习笔记
Java EE 框架整合开发⼊⻔到实战——Spring+Spring MVC+MyBatis(微课版)课后习题答案.pdf
Spring Security OAuth2.0学习笔记 什么是认证、授权、会话。 Java Servlet为支持http会话做了哪些事儿。 基于session认证机制的运作流程。 基于token认证机制的运作流程。 理解Spring Security的工作原理,Spring ...
Spring Security三份资料,实战Spring Security 3.x.pdf;Spring Security 3.pdf;Spring Security使用手册.pdf
主题: Spring Security —— 演讲者 张明星 1、Traditional Web App Security Dev 2、Spring Security 2.x Quick Start 3、Spring Security 2.x Overview 4、Dive Into Spring Security Authentication ...
spring security3 中文版本
Spring Security 3.pdf Spring Security 3.pdf Spring Security 3.pdf Spring Security 3.pdf
Spring Security3 中文开发文档
此项目是采用springboot与springSecurity开发的人事管理系统,前端采用vue,是一个前后端分离的项目
Spring Security。 官网 Spring Security API(Spring Security 开发文档).CHM
SpringMVC学习(四)——Spring、MyBatis和SpringMVC的整合
struts2 + spring3 + hibernate3 + spring security3 + mysql + tomcat sys_users;sys_roles;sys_authorities;sys_resources;sys_users_roles;sys_roles_authorities;sys_authorities_resources; PS:此项目运行不...
Spring Security学习笔记
Spring Security:spring家族一员。是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转...
spring security spring security 中文文档
简单的 springSecurity3例子代码
项目应用到spring3,security3,hibernate4,struts2;应用中涉及到安全认证,目前项目有独立的统一认证网关,所以登录时只需要将安全认证网关的认证后信息塞到spring security中,由security3来管理用户的权限设置。...
ssceurity-page项目是Spring Security实战(四)的源码; ssecurity-pageClass项目是Spring Security实战(五)的源码; ssecurity-customFilter项目是Spring Security实战(六)的源码; ssecurity-rememberMe项目...
(1)该项目是基于spring3+struts2+hibernate3+spring security3的权限管理项目 (2)后台我已经实现了权限管理,包括用户,角色和资源的分配。前台实现了spring security3的管理 (3)网上案例普遍是后台单一登陆。...
Spring Security in Action