create database spring_security;
if exists(select * from sysobjects where name='users')
drop table users;
if exists(select * from sysobjects where name='authorities')
drop table authorities;
if exists(select * from sysobjects where name='roles')
drop table roles;
if exists(select * from sysobjects where name='resources')
drop table resources;
if exists(select * from sysobjects where name='users_roles')
drop table users_roles;
if exists(select * from sysobjects where name='roles_authorities')
drop table roles_authorities;
if exists(select * from sysobjects where name='authorities_resources')
drop table authorities_resources;
--建议MSSQL最好user_name改为username或者[user_name]由于经本人测试过在添加
--users_roles和users两个表约束时,报没候选主外键异常..user_id可能是关键
--字,所以改为userid(MYSQL ORACLE没测试过.)
--用户表
create table users(
userid varchar(32)primary key,
user_account varchar(30),
user_name varchar(40),
user_password varchar(100),
enabled int,
issys int
);
--权限表
create table authorities(
authority_id varchar(32) primary key,
authority_name varchar(40),
authority_desc varchar(100),
enabled int,
issys int,
);
--角色表
create table roles(
role_id varchar(32)primarykey,
role_name varchar(40),
role_desc varchar(100),
enabled int,
issys int
);
--资源表
create table resources(
resource_id varchar(32) primary key,
resource_desc varchar(100),
resource_type varchar(40),
resource_string varchar(200),
priority int,
enabled int,
issys int
);
--用户角色表
create table users_roles(
id numeric(12,0) identity not null primary key,
userid varchar(32),
role_id varchar(32),
enabled int
);
--角色权限表
create table roles_authorities(
id numeric(12,0)identity not null,
role_id varchar(32),
authority_id varchar(32),
enabled int
);
--权限资源表
create table authorities_resources(
id numeric(12,0)identity not null,
authority_id varchar(32),
resource_id varchar(32),
enabled int
);
----------------------------------主外键约束-----------------------------------
alter table users_roles add constraint fk_users_roles_users
foreign key(userid) references users(userid);
alter table users_roles add constraint fk_users_roles_roles
foreign key(role_id) references roles(role_id);
alter table roles_authorities add constraint pk_roles_authorities primary key(id);
alter table roles_authorities add constraint fk_roles_authorities_authorities
foreign key (authority_id) references authorities(authority_id);
alter table roles_authorities add constraint fk_roles_roles_authorities
foreign key(role_id) references roles(role_id);
alter table authorities_resources add constraint pk_authorities_resources primary key(id);
alter table authorities_resources add constraint fk_authorities_resources_authorities
foreign key(authority_id) references authorities(authority_id);
alter table authorities_resources add constraint fk_authorities_resources_resources
foreign key(resource_id) references resources(resource_id);
分享到:
相关推荐
在本学习笔记中,我们将深入探讨Spring Security的核心概念和配置,以及如何设计数据库表来支持权限管理。 首先,Spring Security的配置始于Web应用的入口点——`web.xml`文件。在这里,我们需要定义一个名为`...
- 设计了五个基础表,包括用户表(pub_users)、权限表(pub_authorities)、角色表(pub_roles)、资源表(pub_resources)和用户角色、角色权限连接表,以实现基于数据库的权限管理。 - 用户表存储用户基本信息...
在数据库设计方面,文档中提到了五个基础表:用户表(pub_users)、权限表(pub_authorities)、角色表(pub_roles)、资源表(pub_resources)和用户权限关联表(pub_user_authorities)。这些表共同构成了权限管理的基石,...
2. **权限表(pub_authorities)**: - 描述系统中的权限信息,如权限名称、描述等。 - 确定权限是否被禁用或是否为超级权限。 3. **角色表(pub_roles)**: - 描述系统中的角色信息,如角色名称、描述等。 - ...
架构技术: struts2+spring3+hibernate4 + UI 组件(easyui)+Spring_security权限 配置思想: Convention 零配置(不需要任何配置文件) 优点; [1].代码生成器(单表的增删改查完美生成) 注意:包括JSP页面的生成...
- 权限表(pub_authorities):记录系统可用的权限,可以细粒度地定义资源访问权限。 - 角色表(pub_roles):角色定义,用于分类用户并管理权限。 - 资源表(pub_resources):保护的资源信息,包括URL、优先级...
《权限安全管理:深入理解Spring Security 2.0》 权限安全管理是现代企业级应用中不可或缺的一部分,Spring Security 2.0作为一款强大的安全框架,为开发者提供了全面的解决方案。本文将深入探讨Spring Security ...
Spring Security 是一个强大的和高度可定制的身份验证和访问控制框架,用于Java应用程序。在这个场景中,我们关注的是如何使用Spring Security实现登录验证以及在登录过程中传递参数,特别是记录并返回用户登录前的...
在这个“springboot springsecurity动态权限控制”的主题中,我们将深入探讨如何在Spring Boot项目中集成Spring Security,实现动态权限控制,让菜单权限的管理更加灵活和高效。 首先,我们需要理解Spring Security...
Spring Security 是一个强大的且高度可定制的身份验证和访问控制框架,用于保护基于Java的应用程序。在本案例中,提供的压缩包“myspringsecurity”包含了使用Spring Security所需要的关键组件和数据库信息,这将有...
- **角色与权限**:Spring Security通过角色(Role)和权限(Permission)来控制访问。在数据库中为每个用户分配角色,并将角色关联到权限。 - **登录表单**:创建一个登录表单,提交用户名和密码到Spring ...
在用户、角色、权限、菜单之间,存在复杂的多对多关系,因此Spring Security需要相应的数据模型来支持这些关系,这通常涉及用户表、角色表、权限表、菜单表、以及它们之间的关联表。 Spring Security架构中的角色表...
在Spring Security 3.17版本中,它提供了一套完整的解决方案来处理复杂的权限管理系统,包括用户认证、授权以及会话管理等多个方面。在这个实践中,我们将深入探讨如何利用Spring Security实现这样的系统。 首先,...
首先,SpringSecurity的核心功能包括用户认证、权限授权、会话管理以及防止常见攻击。其中,用户认证涉及验证用户凭据,如用户名和密码,以确定用户的身份。而权限授权则决定了已认证的用户可以访问哪些资源或执行...
总之,这个"spring security 完整项目实例"涵盖了Spring Security的核心组件和用法,包括用户管理、身份验证、权限控制、会话管理等多个方面。通过学习和实践这个项目,开发者能够深入理解Spring Security的工作原理...