`
rentianchou
  • 浏览: 68336 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

项目集成ralasafe权限中间件

阅读更多
什么是ralasafe呢,这里摘抄ralasafe-cookbook的引子:

Ralasafe访问控制中间件(数据级权限管理),是MIT协议开源免费软件产品。它使用图形

化方式处理各种数据级权限管理问题,包括数据库行列级、字段内容级权限问题;它还能处

理登录控制、功能级权限控制和URL权限认证。

使用Ralasafe,可以做到

1. 权限与业务解耦合——实践更清晰的系统架构

2. 权限管理完全图形化管理,不需要写一行代码或XML文件(基本配置信息除外,如

数据源和用户元数据)——实践高效开发

3. 所有访问控制被集中、规范化管理——实践访问模式的统一,减少安全漏洞

Ralasafe完全遵循JAVA EE规范,跨平台、web服务器和主流数据库。

如果想深入了解的话可以进入http://www.ralasafe.cn/社区进行研究讨论。我在这里来说说我在项目中集成ralasafe遇到的一些问题,供大家参考,避免大家走更多的弯路。

其实我是怀着激动的心情把ralasafe的Ralasafe_Cookbook、Ralasafe_dev_practice、Ralasafe_Configuration三本pdf看完了,因为现在还没有真正的第三方项目能真正的把业务和权限相分离,如果项目用Spring Security的话又感觉笨重、维护繁琐(只是个人意见)。

我看ralasafe的三大pdf是仔细看了3遍后才进行整合的,在整合前我还事先按文档把demo配置了一遍,确保没有问题后在我的项目中进行整合。

首先概要的说明下我们项目的主要应用框架是s2sh,数据库为db2,由于ralasafe官方没有给出db2的CREATE  TABLE SQL,所以我把我集成的语句贴出来:

CREATE

    TABLE ralasafe_sequence

    (

        currentValue INTEGER,

        name VARCHAR(100) NOT NULL,

        PRIMARY KEY (name)

    )

CREATE TABLE usertype (

  name varchar(100) NOT NULL,

  description varchar(500) default NULL,

  userMetadataXML varchar(4000) default NULL,

  PRIMARY KEY  (name)

) 

CREATE TABLE application (

  name varchar(100) NOT NULL,

  description varchar(500) default NULL,

  PRIMARY KEY  (name)

)

CREATE TABLE applicationusertype (

  appName varchar(100) NOT NULL,

  userTypeName varchar(100) NOT NULL,

  userMetadataStr varchar(1000) default NULL,

  PRIMARY KEY  (appName,userTypeName)

)


这四张表是ralasafe的权限的基础表

下面这个是依据我项目里创建的用户元数据所对应的视图,大家不明白可以去ralasafe的相关文档,这里就不赘述了

CREATE OR REPLACE VIEW USERVIEW AS

SELECT

   u.ID,

   u.USER_NAME,

   u.USER_PWD,

   d.DEPT_NAME,

   d.DEPT_TYPE

FROM

    TB_USER u,TB_DEPARTMENT d WHERE u.dept_id = d.id




具体的配置步骤是按照ralasafe相关文档做完后,项目重启,OK,没有问题。当我满怀信心的认为我已经成功的与项目集成后,问题来了,当我在ralasafe控制界面导入用户元数据时缺意外的报错了,如图:


然后我又仔细检查了配置,OK都没有问题啊,而且我跑demo时把数据源也换成db2的了,而且也没有问题啊。

我想会不会是某个过滤器影响了ralasafe的功能呢?刚好群里的小戴童鞋提示是struts2的过滤器的问题。

后来我把struts2的过滤器
<filter-mapping>

<filter-name>struts2</filter-name>

[color=red]<url-pattern>/*</url-pattern>[/color]

</filter-mapping>


换成
<filter-mapping>

<filter-name>struts2</filter-name>
[color=red]
<url-pattern>*.action</url-pattern>[/color]

</filter-mapping>


红色部分,OK,问题解决。
  • 大小: 58.8 KB
分享到:
评论

相关推荐

    ralasafe 权限管理中间件

    Ralasafe访问控制中间件(数据级权限管理),是MIT协议开源免费软件产品。它使用图形化方式处理各种数据级权限管理问题,包括数据库行列级、字段内容级权限问题;它还能处理登录控制、功能级权限控制和URL权限认证。...

    Ralasafe权限管理

    Ralasafe访问控制中间件(数据级权限管理),是MIT协议开源免费软件产品。它使用图形化方式处理各种数据级权限管理问题,包括数据库行列级、字段内容级权限问题;它还能处理登录控制、功能级权限控制和URL权限认证。...

    JAVA上百实例源码以及开源项目源代码

     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...

    JAVA上百实例源码以及开源项目

     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...

    java开源包1

    Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目。 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标记跟踪软件库。它利用GPGPU的快速和...

    java开源包11

    Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目。 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标记跟踪软件库。它利用GPGPU的快速和...

    java开源包2

    Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目。 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标记跟踪软件库。它利用GPGPU的快速和...

    java开源包3

    Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目。 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标记跟踪软件库。它利用GPGPU的快速和...

    java开源包6

    Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目。 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标记跟踪软件库。它利用GPGPU的快速和...

    java开源包5

    Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目。 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标记跟踪软件库。它利用GPGPU的快速和...

    java开源包10

    Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目。 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标记跟踪软件库。它利用GPGPU的快速和...

    java开源包4

    Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目。 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标记跟踪软件库。它利用GPGPU的快速和...

    java开源包8

    Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目。 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标记跟踪软件库。它利用GPGPU的快速和...

    java开源包7

    Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目。 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标记跟踪软件库。它利用GPGPU的快速和...

    java开源包9

    Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目。 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标记跟踪软件库。它利用GPGPU的快速和...

    java开源包101

    Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目。 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标记跟踪软件库。它利用GPGPU的快速和...

    Java资源包01

    Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目。 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标记跟踪软件库。它利用GPGPU的快速和...

Global site tag (gtag.js) - Google Analytics