1.1 数据库与表构造

1.1.1 用户表

1.1.1.1 用户表信息描述users

登录页面jsp企业权限治理体系用户登录相干操作 Docker

1.1.1.2 sql语句

1.1.1.3 实体类

1.1.2 角色表

1.1.2.1 角色表信息描述role

1.1.2.2 sql语句

1.1.2.3 实体类

1.1.2.4 用户与角色关联关系

用户与角色之间是多对多关系,我们通过user_role表来描述其关联,在实体类中User中存在List,在Role中有List. 而角色与权限之间也存在关系,我们会在后面先容。

1.1.3 资源权限表

1.1.3.1 权限资源表描述permission

1.1.3.2 sql语句

1.1.3.3 实体类

1.1.3.4 权限资源与角色关联关系

权限资源与角色是多对多关系,我们利用role_permission表来描述。
在实体类Permission中存在List,在Role类中 有List

1.2 Spring Security概述

1.2.1 Spring Security先容

Spring Security 的前身是 Acegi Security ,是 Spring 项目组中用来供应安全认证做事的框架。
Spring Security 为基于J2EE企业运用软件供应了全面安全做事。
特殊是利用领先的J2EE办理方案-Spring框架开拓的企业软件项目。

人们利用Spring Security有很多种缘故原由,不过常日吸引他们的是在J2EE Servlet规范或EJB规范中找不到范例企业运用处景的办理方案。
特殊要指出的是他们不能再 WAR 或 EAR 级别进行移植。
这样,如果你改换做事器环境,就要在新的目标环境进行大量的事情,对你的运用系统进行重新配置安全。
利用Spring Security 办理了这些问题,也为你供应很多有用的,完备可以指定的其他安全特性。
安全包括两个紧张操作。

“认证”是为用户建立一个他所声明的主体。
主体一样平常是指用户,设备或可以在你系统中实行动作的其他系统。

“授权”指的是一个用户能否在你的运用中实行某个操作,在到达授权判断之前,身份的主体已经由身份验证过程建立了。
这些观点是通用的,不是Spring Security特有的。

在身份验证层面,Spring Security广泛支持各种身份验证模式, 这些验证模型绝大多数都由第三方供应,正在开拓的有关标准机构供应的,例如 Internet Engineering Task Force。
作为补充,Spring Security 也供应了自己的一套验证功能。

Spring Security 目前支持认证一体化如下认证技能: HTTP BASIC authentication headers (一个基于IEFT RFC 的 标准) HTTP Digest authentication headers (一个基于IEFT RFC 的标准) HTTP X.509 client certificate exchange (一个基于IEFT RFC 的标准) LDAP (一个非常常见的跨平台认证须要做法,特殊是在大环境) Form-based authentication (供应大略用户接口的需求) OpenID authentication Computer Associates Siteminder JA-SIG Central Authentication Service (CAS,这是一个盛行的开源单点登录系统) Transparent authentication context propagation for Remote Method Invocation and HttpInvoker (一个Spring远程调用协议)

1.2.2 Spring Security快速入门

1.2.2.1 pom.xml中添加Maven依赖

1.2.2.2 配置web.xml

1.2.2.3 spring security配置

1.2.2.4 测试

1.2.2.5 利用自定义页面

1.2.3 Spring Security利用数据库认证

在Spring Security中如果想要利用数据进行认证操作,有很多种操作办法,这里我们先容利用UserDetails、 UserDetailsService来完成操作。

UserDetails是一个接口,我们可以认为UserDetails浸染是封装当提高行认证的用户信息,但由于其是一个接口,以是我们可以对其进行实现,也可以利用Spring Security供应的一个UserDetails的实现类User来完成操作

以下是User类的部分代码

UserDetailsService:

1.3 用户管理

1.3.1 用户登录

1.3.1.1 spring security的配置

1.3.1.2 编写登录页面login.jsp

1.3.1.3 编写Service

1.3.1.4.IUserDao

1.3.2 用户退出

利用spring security完成用户退出,非常大略

页面中: