1.UsersEdit.xhtml
<s:decorate id="realnameField" template="../layout/edit.xhtml">
<ui:define name="label">Realname</ui:define>
<h:inputText id="realname" required="true"
size="50"
maxlength="100"
value="#{user2.realname}" rendered="#{s:hasPermission('insertname', 'insert')}">
<a:support event="onblur" reRender="realnameField" bypassUpdates="true" ajaxSingle="true"/>
</h:inputText>
</s:decorate>
在这里有个rendered="#{s:hasPermission('insertname', 'insert')}",这个主要是用来测试的。看在security.drl文件中如何写,才能满足这样的条件。
2. security.drl
rule InsertTest
no-loop
activation-group "permissions"
when
check: PermissionCheck(target == "insertname",action == "insert",granted == false)
Role(name == "admin")
then
check.grant();
end
这样的话就只有admin的用户才有这样的权限了。另外必须target == "insertname",action == "insert"这两个条件都满足的话,就可以看到那个文本框了!!
如果没有target == "insertname"则程序会报错!!
如果没有action == "insert"则也会看不到文本框!!
另外说明一点:这是JPA的高级权限验证的,即没有通过数据库的手工配置而是通过security.drl文件来控制的。如果想通过配置数据库的permission表来控制权限的话,就必须在登录的时候把permission对象加载出来,然后放到WorkingMemory中,这部分的内容在前面的文章里面已经讲过了。!!
分享到:
相关推荐
《Apress.Pro.JPA.2.2nd.Edition.Oct.2013》是一部关于Java持久化API(Java Persistence API,简称JPA)的专著,由Apress出版社于2013年10月出版。这本书是JPA 2.2版本的详细指南,旨在帮助开发者深入理解和有效利用...
总结来说,本项目展示了如何利用SpringBoot、SpringSecurity和JPA在IntelliJ IDEA环境下构建一个完整的用户角色权限管理系统,通过security.sql和security-jpa这两个关键组件,实现了数据初始化和核心业务逻辑的构建...
用SpringBoot + Spring Data JPA操作数据库 项目启动的时候 报了一个错 SpringBoot的版本是2.2.6.RELEASE org.springframework.beans.factory.BeanCreationException: Error creating bean with name '...
- **用户管理**:包括用户注册、登录、个人信息管理、权限控制等,可能使用Spring Security进行认证和授权。 - **库存管理**:实时更新商品库存,确保销售与库存同步。 - **支付集成**:与第三方支付平台(如支付宝...
【标题】"仓库管理系统,SpringBoot+Spring Data JPA+......zip" 提示我们这是一个基于Java技术栈,特别是SpringBoot和Spring Data JPA框架开发的仓库管理系统的毕业设计项目。这个系统很可能旨在实现仓库的自动化...
详细的jpa-java持久化API.ppt
综上所述,这个项目使用Spring Boot作为基础框架,通过JPA连接MySQL数据库处理数据,同时利用Spring Security实现用户权限管理,为开发者提供了一个安全、高效的Web应用模板。开发者可以根据自己的需求进行扩展和...
【标题】"管理系统系列--仓库管理系统,SpringBoot+Spring Data JPA+......zip" 提供了一个关于构建仓库管理系统的项目框架,它利用了Spring Boot和Spring Data JPA等技术。这个系统旨在自动化仓库操作,提高库存...
赠送jar包:hibernate-jpa-2.1-api-1.0.2.Final.jar; 赠送原API文档:hibernate-jpa-2.1-api-1.0.2.Final-javadoc.jar; 赠送源代码:hibernate-jpa-2.1-api-1.0.2.Final-sources.jar; 赠送Maven依赖信息文件:...
- 它提供了身份验证和授权机制,可以轻松地实现登录、权限控制、会话管理等功能。 - 使用Spring Security,开发者可以定义访问控制规则,限制对特定资源的访问,从而保护系统安全。 4. **文件名列表(kwan...
1、基于SpringBoot+Thymeleaf+JPA的博客系统源码.zip 2、该资源包括项目的全部源码,下载可以直接使用! 3、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 ...
Nicholas S. Williams是Java和相关技术领域的一位著名专家。...Nick大量参与了开源社区工作,为Apache Log4J、Apache Tomcat、Jackon Mapper、Spring Framework和Spring Security等项目贡献了bug修复、新特性和文档。
java.JPA(处理方案示例).md
Spring Boot JPA与Security是两个在Java开发领域中极为重要的技术框架,它们分别专注于数据访问和应用程序的安全管理。本文将深入探讨这两个框架的核心概念、如何整合使用以及在实际项目中的应用。 Spring Boot是由...
JPA(处理方案示例).md
赠送jar包:hibernate-jpa-2.1-api-1.0.2.Final.jar; 赠送原API文档:hibernate-jpa-2.1-api-1.0.2.Final-javadoc.jar; 赠送源代码:hibernate-jpa-2.1-api-1.0.2.Final-sources.jar; 赠送Maven依赖信息文件:...