Spring 30 Spring Security - 密文方式存储密码和用户注册

Spring 30 Spring Security - 密文方式存储密码和用户注册

在数据库中存储密文密码 很显然,实际开发中绝对不能使用明文密码,否则数据泄露的可能性非常大。 Spring Security针对密码推荐bcrypt算法,bcrypt算法可以一次性计算好hash后的值,自动加随机的盐,可以防止暴力破解。是一个使用广泛的算法。 密码学在计算机科学出现之前就有了,而哈希

Spring 29 Spring Security - 通过数据库读取用户和角色

Spring 29 Spring Security - 通过数据库读取用户和角色

使用数据库存储用户信息和角色 观察我们的配置类可以发现,我们目前把所有的用户名,密码和角色信息都硬编码在配置类里。角色名一旦有变动,需要修改全部代码中对应的这个角色名。这显然不够好。更常见的做法是用数据库来存储相关的内容。每次进行验证的时候,到数据库中去存取数据。 Spring Security支持

Spring 28 Spring Security - 用户基于角色的权限控制

Spring 28 Spring Security - 用户基于角色的权限控制

用户角色权限 对于Web开发来说,包括后边要用到的REST风格,权限就是基于用户的身份,能够访问哪些URL,因为在REST风格下URL意味做一个动作然后获得结果。 按照教程,目前我们已经在Spring Security的配置类里配置了一些角色如下: 姓名 角色 jenny ADMIN, MANAGE

Spring 27 Spring Security - 用户登出、CSRF、用户信息

Spring 27 Spring Security - 用户登出、CSRF、用户信息

用户登出 用户登出的动作是实际上是清除Session中的用户数据,开发的方法如下: 配置文件中加上登出的功能和对应的路径 在JSP页面中添加一个登出按钮 在登录表单页面中加入登出的消息 先来修改配置文件: @Override protected void configure(HttpSecurity

Spring 26 Spring Security - 基础概念和用户登录

Spring 26 Spring Security - 基础概念和用户登录

由于Spring Security是另外一个项目,并不像之前我们使用的包都属于Spring Framework,一起用就行了。 Spring Security开发的过程是: 创建Spring Security的初始化器 创建Spring Security的配置文件 添加用户,密码,角色等内容 Spr

Spring 25 Spring Security - 项目配置

Spring 25 Spring Security - 项目配置

Web开发两大传统艺能,增删改查基础操作已经会写了,还剩下就是用户验证了。Spring Security就是做这个的。主要的功能就是管理用户身份认证(authenticate)和用户权限(authority)。 有两种方式可以为一个项目添加安全管理:声明式和编程式。 Spring Security是

Spring 24 Maven基础

Spring 24 Maven基础

Maven基础概念 如果用过Eclipse和Intellij或者其他的IDE,就会发现由于各个IDE的设置不同,项目的目录结构也不同。如果每个人的可以自行设置项目目录和结构,就让大规模开发变得困难。Maven就是一个标准化的项目构建工具,用不同的IDE新建各自的项目会不同,但所有的IDE都支持创建M

Spring 23 AOP - 各种配置方法和实际应用

Spring 23 AOP - 各种配置方法和实际应用

@AfterReturning 顾名思义,这是在方法成功执行之后的切面。所谓成功执行,就是方法返回了结果,中间没有出现任何异常。 这种切面主要用于日志,预处理数据等功能 这个技术还一个重要的方面就是需要获得返回值,以便进行一些操作,来看一个简单的例子: 在Aspect类中打开getter方法的切点,

Spring 22 AOP – Before Advice、切点表达式语法和切点声明

Spring 22 AOP – Before Advice、切点表达式语法和切点声明

环境配置 很多切点是用注解来标示的,为了使用AOP先来进行环境配置,先看一下要如何做。 虽然我们的库里已经有了Spring全套框架,但依然需要下载导入AspectJ的包,这是因为Spring AOP使用了一些AspectJ的注解和包。 然后我们要看@Before advice的使用,操作的步骤是:

Spring 21 AOP - 基础概念

Spring 21 AOP - 基础概念

AOP的概念 刚刚第一个增删改查应用其实还很贫弱,缺少一些常见的内容,比如: 缺少安全检查功能,一般不会允许直接进行增删改查。Web应用最基础的操作一般都需要用户身份验证,至少登录的用户才被允许做一些事情。 缺少日志功能,这是一般程序都应该有的功能。 那么就来添加安全检查和日志功能吧。且慢,要在哪里