`
zeng7960983
  • 浏览: 44482 次
  • 性别: Icon_minigender_1
  • 来自: 邵阳
社区版块
存档分类
最新评论

spring security acl

阅读更多
在项目的权限处理要实现细粒度的权限。这个几天特意从网上找了一些资料。自己整理一下。我研究的是官方例子contract.
CREATE TABLE ACL_SID(
ID BIGINT AUTO_INCREMENT NOT NULL PRIMARY KEY,
PRINCIPAL BOOLEAN NOT NULL,
SID VARCHAR(100) NOT NULL,
CONSTRAINT UNIQUE_UK_1 UNIQUE(SID,PRINCIPAL)
);


CREATE TABLE ACL_CLASS(
ID BIGINT AUTO_INCREMENT NOT NULL PRIMARY KEY,
CLASS VARCHAR(100) NOT NULL,
CONSTRAINT UNIQUE_UK_2 UNIQUE(CLASS)
);


CREATE TABLE ACL_OBJECT_IDENTITY(
ID BIGINT AUTO_INCREMENT NOT NULL PRIMARY KEY,
OBJECT_ID_CLASS BIGINT NOT NULL,
OBJECT_ID_IDENTITY BIGINT NOT NULL,
PARENT_OBJECT BIGINT,
OWNER_SID BIGINT,
ENTRIES_INHERITING BOOLEAN NOT NULL,
CONSTRAINT UNIQUE_UK_3 UNIQUE(OBJECT_ID_CLASS, OBJECT_ID_IDENTITY),
CONSTRAINT FOREIGN_FK_1 FOREIGN KEY(PARENT_OBJECT)REFERENCES ACL_OBJECT_IDENTITY(ID),
CONSTRAINT FOREIGN_FK_2 FOREIGN KEY(OBJECT_ID_CLASS)REFERENCES ACL_CLASS(ID),
CONSTRAINT FOREIGN_FK_3 FOREIGN KEY(OWNER_SID)REFERENCES ACL_SID(ID)
);


CREATE TABLE ACL_ENTRY(
ID BIGINT AUTO_INCREMENT NOT NULL PRIMARY KEY,
ACL_OBJECT_IDENTITY BIGINT NOT NULL,
ACE_ORDER INT NOT NULL,
SID BIGINT NOT NULL,
MASK INTEGER NOT NULL,
GRANTING BOOLEAN NOT NULL,
AUDIT_SUCCESS BOOLEAN NOT NULL,
AUDIT_FAILURE BOOLEAN NOT NULL,
CONSTRAINT UNIQUE_UK_4 UNIQUE(ACL_OBJECT_IDENTITY,ACE_ORDER),
CONSTRAINT FOREIGN_FK_4 FOREIGN KEY(ACL_OBJECT_IDENTITY) REFERENCES ACL_OBJECT_IDENTITY(ID),
CONSTRAINT FOREIGN_FK_5 FOREIGN KEY(SID) REFERENCES ACL_SID(ID)
);

CREATE TABLE USERS(
USERNAME VARCHAR(50) NOT NULL PRIMARY KEY,
PASSWORD VARCHAR(50) NOT NULL,
ENABLED BOOLEAN NOT NULL
);
CREATE TABLE AUTHORITIES(
USERNAME VARCHAR(50) NOT NULL,
AUTHORITY VARCHAR(50) NOT NULL,
CONSTRAINT FK_AUTHORITIES_USERS FOREIGN KEY(USERNAME) REFERENCES USERS(USERNAME)
);
CREATE UNIQUE INDEX IX_AUTH_USERNAME ON AUTHORITIES(USERNAME,AUTHORITY);
CREATE TABLE CONTACTS(
ID BIGINT NOT NULL PRIMARY KEY,
CONTACT_NAME VARCHAR(50) NOT NULL,
EMAIL VARCHAR(50) NOT NULL
);

ss的acl是基于domain类型的控制method方法的拦截tablib控制显示内容AfterInvocation后置拦截。上面是他用到的表结构
ACL_SID:可能是一个具体的用户,也可能是一个角色名,用来标识一组具有相同身份的用户
OBJECT_IDENTITY:由domain(就是我们要控制的pojo类)的类型和pojo的主键组成.
ACL_ENTRY:保存某个SID可以对某个OBJECT_IDENTITY进行哪些操作.

方法的拦截:spring security 只能拦截services方法
页面中使用<sec:acl />





分享到:
评论

相关推荐

    spring security acl 实例

    spring security acl 代码实例 spring security acl 代码实例spring security acl 代码实例spring security acl 代码实例spring security acl 代码实例spring security acl 代码实例

    基于Spring Security的ACL实现与扩展ppt

    **Spring Security ACL 实现与扩展** **ACL 简介** 访问控制列表(Access Control List,简称 ACL)是一种用于...如需深入了解,请参考权限管理手册:http://www.family168.com/oa/springsecurity/html2009-08-19。

    spring security acl 3.1.4 REALEASE.jar

    spring security 3.1.4的release包 需要的可以拿走

    Spring Security 资料合集

    8. **Spring Security ACL**: - 对象级权限管理(ACL)允许开发者对应用内的具体对象实施细粒度的访问控制,如对数据库记录或文件系统的访问。 9. **Spring MVC集成**: - Spring Security 无缝集成于Spring MVC...

    spring-security-acl-neo4j:带有 Neo4j 图形数据库的 Spring Security Acl 支持库

    spring-security-acl-neo4j 带有 Neo4j 图形数据库的 Spring Security Acl 支持库动机该项目背后的动机是通过消除使用传统 RDBMS 作为后端数据存储创建的瓶颈来提高 Spring Security ACL 的性能。 阅读这篇了解更多...

    springsecurity

    - **Hibernate ACL**: 为了实现ACL,Spring Security 提供了与Hibernate ORM集成的实现。`org.springframework.security.acls.hibernate.HibernateAclService` 是关键接口,用于处理ACL对象的CRUD操作。 - **...

    springstarter

    Spring Security ACL是Spring Security框架的一个重要扩展,它提供了一种强大的访问控制机制,允许开发者对应用程序的数据进行细粒度的权限管理。这个"springstarter"项目可能是为了演示或教学如何在Spring Boot应用...

    spring-security 官方文档 中文版

    - **ACL (spring-security-acl.jar)**:提供了访问控制列表支持。 - **CAS (spring-security-cas-client.jar)**:提供了与 Central Authentication Service (CAS) 的集成支持。 - **OpenID (spring-security-...

    spring security3.0.4 的acl使用例子

    在本例中,我们将探讨如何在Spring Security 3.0.4中使用ACL特性。 首先,ACL允许开发者定义对象级别的安全性,这意味着你可以控制用户对特定数据对象的操作权限。例如,你可以设定某个用户只能读取但不能修改特定...

    spring security 4.0.0所需jar包

    - `spring-security-acl-4.0.0.CI-SNAPSHOT-javadoc.jar`:访问控制列表模块的Java文档,涉及对象级别的权限控制。 在Spring Security 4.0.0中,这些jar包一起工作,提供了一套完整的解决方案,用于实现用户认证...

    SpringSecurity笔记,编程不良人笔记

    SpringSecurity是Java领域中一款强大的安全框架,主要用于Web应用程序的安全管理。它提供了全面的身份验证、授权、会话管理以及安全相关的功能,可以帮助开发者构建安全的Web应用。在本笔记中,我们将深入探讨Spring...

    spring security3 中文版本

    - `ACL-spring-security-acl.jar`:提供了基于 ACL 的访问控制功能。 - `CAS-spring-security-cas-client.jar`:支持 CAS 协议的单点登录功能。 - `OpenID-spring-security-openid.jar`:支持 OpenID 身份验证。 ...

    spring security3.0所需要的最精简的jar包

    5. **spring-security-acl-3.1.3.RELEASE.jar**:访问控制列表(ACL)模块提供了对对象级别的细粒度权限控制。它允许开发者指定哪个用户或角色可以对哪些具体对象进行读、写或其他操作。 6. **spring-security-acl-...

    SpringSecurity.zip

    ​ Spring Security:spring家族一员。是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转...

    Spring Security 3系列文章——入门篇(一)

    在`SpringSecurityAclDemo`中,你可以看到如何配置和使用Spring Security的ACL特性,这有助于理解如何在实际项目中实现更复杂的权限控制需求。务必动手实践,以更好地掌握Spring Security的精髓。

    spring-security-acl-mongodb:基于 Spring Security MongoDB 的访问控制列表 (ACL) 实现

    Spring Security ACL MongoDB Spring Security 访问控制列表 (ACL) 是一种方便的方式来授予对域对象(例如书籍或联系人列表)的基于用户的权限访问。 默认情况下,Spring Security通过4个SQL表管理ACL,这些SQL表在...

    spring_security_struts.rar

    `spring-security-acl-3.0.2.RELEASE.jar`提供了细粒度的访问控制列表(Access Control List,ACL)功能,允许开发者对单个对象进行权限控制,例如,控制用户是否能读取、修改或删除特定的数据记录。 **Spring ...

    spring-security-4.2.4.REL.zip

    2. **Spring Security ACL (Access Control List)**:此模块提供了细粒度的权限控制,允许开发者指定特定用户或角色对特定对象的操作权限。ACL允许你定义谁能读、写、修改甚至删除应用中的敏感数据。 3. **Spring ...

Global site tag (gtag.js) - Google Analytics