`
rentianchou
  • 浏览: 69566 次
  • 性别: 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 开源权限控制中间件** ralasafe 是一款功能强大的开源权限控制中间件,主要用于实现企业级应用的安全管理。它为开发者提供了一种简单、高效且灵活的方式来管理和控制用户对系统的访问权限,从而确保系统...

    ralasafe国产开源权限中间件

    "Ralasafe"是一款源自中国的开源权限管理中间件,它为各类J2EE应用程序提供了强大的权限控制解决方案。作为中间件,Ralasafe的核心价值在于帮助开发者轻松实现对用户权限的精细化管理和控制,确保系统的安全性和数据...

    ralasafe权限

    "ralasafe权限"是本文要探讨的核心主题,它涉及到的是一个名为RalaSafe的权限管理中间件。RalaSafe并非一个框架,而是一个独立的中间件,其特点是提供源码,使得开发者可以深入理解其工作原理并根据实际需求进行定制...

    权限过滤:Ralasafe以及shiro

    在Ralasafe中,你需要配置数据库以存储用户、角色和权限信息,然后创建安全策略,最后在应用中集成Ralasafe的过滤器,实现请求的权限过滤。而在Shiro中,你需要创建Realm来连接数据源,实现认证和授权逻辑,接着配置...

    ralasafe综合资源包

    这个综合资源包包含了ralasafe的相关组件、文档、示例代码以及可能的配置文件,帮助开发者快速理解和集成ralasafe到自己的项目中。 1. **ralasafe基础** - **身份验证(Authentication)**:`ralasafe`支持多种...

    Ralasafe_dev_practice_zh

    Ralasafe是一种访问控制中间件,用于数据级权限管理,它采用了基于角色的访问控制(RBAC)模型来管理功能级权限,同时使用策略来管理数据级权限。Ralasafe提供了图形化界面(Web控制端)进行策略定制,允许用户通过...

    ralasafe的安装配置

    Ralasafe是一款基于Java开发的开源访问控制中间件,遵循MIT协议,旨在简化权限管理和安全控制。它提供了登录控制、URL权限控制以及业务级数据权限管理功能,将权限逻辑与业务逻辑分离,使得系统更加安全且易于维护。...

    Ralasafe开发实践

    Ralasafe是一款专注于提供数据级权限管理和访问控制的中间件,其设计目的是为了方便开发者在应用程序中实现细粒度的数据访问控制。它不仅支持功能级别的权限管理,还特别强调了数据级别的权限控制,即根据用户的特定...

    Ralasafe_Cookbook_1.1_RC1(zh)

    Ralasafe是一个开源的数据权限管理中间件,它提供了图形化的方式来处理包括数据库行列级、字段内容级权限管理问题,并且能够处理登录控制、功能级权限控制和URL权限认证。使用Ralasafe可以让权限管理与业务逻辑分离...

    小议数据级权限管理

    为了解决这一问题,部分开发人员开始使用框架或中间件来实现权限管理,例如Ralasafe框架就是采用服务模式,通过在业务需要的地方调用接口,简化了开发过程,提高了效率。 UPMS通用用户权限系统是针对上述挑战提出的...

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

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

    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的快速和...

Global site tag (gtag.js) - Google Analytics