- 浏览: 651918 次
- 性别:
- 来自: 昆明
文章分类
最新评论
-
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 1611众所周知,B 站是央视认证的一个学习平台。我在周末固定时 ... -
使用Python实现了B站的滑动验证和自动登录
2019-07-08 10:20 1805基本原理就是利用selenium模拟操作实现登录,我的目的是 ... -
你听说过吗:使用网页技术开发桌面串口助手工具
2018-12-12 16:30 2341串口助手是嵌入式开发中常用到的一个桌面工具,用于串口调试,而 ... -
编程直播室第二期:CadLib 授权机制研究与实现
2018-06-12 19:42 1766以前做一个软件的制 ... -
编程星球——水·滴创刊号 20180514
2018-05-14 21:11 834不定期整理编程直播室、水·滴专题,第一期: -
能不能三、五小时入门Python编程
2018-05-14 13:40 1567今天,在一个微信群里有人问: 其实,我想说 编程直播 ... -
编程星球主题设定
2018-04-18 14:28 988编程星球目前主要设置两个主题,一个是碎片化的水·滴,水、水 ... -
直播编码
2018-04-18 10:57 1205为庆祝简书专题《我爱编程》收录文章数量超过1W,先启动在知 ... -
使用Python爬取网站数据分析
2018-04-04 13:56 1975玩Chat分享有一段时间了,回过头来看看从数据爬取(如何用 ... -
源码发布:一个Angular写得Markdown编辑器
2018-03-16 08:53 1910一直想写一个Angular2+的分享,但是没有一个好的 ... -
非官方GitChat客户端及代码发布
2018-02-28 23:22 999在我写《使用 Angular2+ 开发 Markdown 编 ... -
代码发布:用 Kotlin 开发 SpringBoot 之 Data JPA
2018-02-09 15:25 1261今天已经把分享的文 ... -
用 Kotlin 开发 SpringBoot 之 Data JPA
2018-02-01 13:34 1117Kotlin 是一个基于 JVM 的新的编程语言,Kotl ... -
TypeScript中的可选属性和只读属性
2018-01-23 16:30 2189可选属性 接口里的属性不全都是必需的。 有些是只在某 ... -
TypeScript使用HashMap
2018-01-20 11:35 3847我不知道大家是怎么使用索引类型的,我是一次想实现HashM ... -
TypeScript 看见未来的 JavaScript
2018-01-19 09:57 629TypeScript也可以看作是“更好的JavaScript ... -
原色2017
2018-01-16 00:01 936整理手机相册,发现2017真是多姿多彩。 办公楼旁的玉 ... -
读书笔记:《算法图解》第三章 递归
2018-01-15 14:21 1857定义: 在数学与计算机科学中,是指在函数的定义中使用函数 ... -
读书笔记:《算法图解》第二章 选择排序
2018-01-11 13:57 828数组:所谓数组,是无序的元素序列。数组中的所有元素都具 ... -
读书笔记:《算法图解》第一章 算法简介
2018-01-09 22:17 706二分查找# 二分查找是对半查找,进队列表是有序时有效。 ...
相关推荐
在"springsecurity学习笔记"中,你可能会涉及以下主题: - Spring Security的基本配置,包括web安全配置和全局安全配置。 - 如何自定义认证和授权流程,比如实现自定义的AuthenticationProvider和...
这三份资料——"实战Spring Security 3.x.pdf"、"Spring Security 3.pdf" 和 "Spring Security使用手册.pdf" 将深入探讨这些概念,并提供实践指导,帮助读者掌握如何在实际项目中应用Spring Security。通过学习这些...
这份文档名为《Java EE 框架整合开发入门到实战——Spring+Spring MVC+MyBatis(微课版)课后习题答案.pdf》,它显然是关于Java EE中流行的三个框架整合使用的教程。这三个框架分别是Spring、Spring MVC和MyBatis,...
3. **SpringBoot整合SpringSecurity** - `spring-boot-starter-security`依赖:SpringBoot项目中添加此依赖即可自动配置SpringSecurity。 - 自定义登录页面:通过设置`loginPage`和`loginProcessingUrl`属性,可以...
在"SpringSecurity笔记2-SpringSecurity命名空间"这个主题中,我们将深入探讨SpringSecurity配置的核心——命名空间。 SpringSecurity通过XML配置文件中的命名空间来简化设置过程,这些命名空间提供了丰富的元素和...
Spring Security OAuth2.0学习笔记 什么是认证、授权、会话。 Java Servlet为支持http会话做了哪些事儿。 基于session认证机制的运作流程。 基于token认证机制的运作流程。 理解Spring Security的工作原理,Spring ...
《Spring Security 3笔记》 在深入探讨Spring Security 3的知识点之前,我们先了解下这个框架的基本概念。Spring Security是Spring生态系统中的一个组件,它为Java应用提供了全面的安全服务,包括认证、授权以及Web...
《基于SpringSecurity的SpringBoot企业级人事管理系统详解》 在当今的互联网开发环境中,SpringBoot以其简洁、高效的特点,已经成为构建后端服务的主流框架。而SpringSecurity作为Spring生态系统中的安全组件,为...
Spring Security 实践指南 Spring Security 是一个基于 Java 的安全框架,旨在提供身份验证、授权和访问控制等功能。...Spring Security 是一个功能强大且灵活的安全框架,广泛应用于 Java 应用开发中。
四、Spring Security与Spring MVC集成 Spring Security与Spring MVC的集成非常紧密,它可以直接与Spring MVC的DispatcherServlet交互,对HTTP请求进行拦截和处理。通过`@Secured`和`@PreAuthorize`注解,可以在方法...
而Spring Security 则是 Java 开发中广泛使用的安全框架,用于实现认证和授权。当我们将这两者结合时,我们可以创建一个强大的统一登录认证鉴权系统。 首先,让我们深入了解Spring Cloud Gateway。这是一个基于...
在IT行业中,SpringBoot、SpringSecurity和WebSocket是三个非常重要的技术组件,它们分别在应用程序开发、安全管理和实时通信方面发挥着关键作用。本项目结合这三个技术,构建了一个整合的示例,旨在展示如何在...
《ProSpring——Spring专业开发指南》是一本深入探讨Spring框架的专业书籍,旨在帮助开发者全面理解和掌握Spring的核心概念、功能及最佳实践。通过阅读本书,你可以深入理解Spring如何为Java应用程序提供强大的依赖...
Spring Security 3是中国社区翻译的官方文档,为国内开发者提供了方便的学习资源。 本套文档包含了Spring Security的基础概念、配置、核心组件以及实际应用场景的详细讲解。以下是一些关键知识点的概述: 1. **...
Spring Security是一个功能强大且高度可定制的身份验证和授权框架,专门用于保护Java应用程序的安全性。它构建在Spring Framework基础之上,提供了全面的安全解决方案,包括身份验证、授权、攻击防护等功能。 Spring...
youlai-boot 是【有来开源组织】基于Spring Boot 3 + Spring Security 6 + JWT + Mybatis-Plus + Redis + XXL-Job + Vue3 等主流技术栈搭建的前后端分离权限管理系统。 在线预览地址:http://vue3.youlai.tech 后端...
在这个完整的项目实例中,我们将深入探讨Spring Security的核心概念以及如何将其应用于实际的Web应用程序开发。 首先,我们从用户、角色和权限这三个核心元素开始。在Spring Security中,用户信息通常存储在一个...