项目集成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控制界面导入用户元数据时缺意外的报错了,如图:
[img]http://hiphotos.baidu.com/rentianchou/pic/item/55f0891bb33ebd17dbb4bd5c.jpg[/img]

然后我又仔细检查了配置,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,问题解决。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值