本站首页    管理页面    写新日志    退出


«August 2025»
12
3456789
10111213141516
17181920212223
24252627282930
31


公告
 本博客在此声明所有文章均为转摘,只做资料收集使用。

我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:
日志总数:1304
评论数量:2242
留言数量:5
访问次数:7579585
建立时间:2006年5月29日




[Hibernate]Acegi+hibernate 动态实现基于角色的权限管理(2)
软件技术,  电脑与网络

lhwork 发表于 2006/6/13 11:32:58

解决方法:

1: 开发基于数据库的保护资源。

看过acegi的源代码就会知道,对保护资源的定义是通过实现ObjectDefinitionSource这个接口来实现的,而且acegi为我们提供了默认实现的抽象类
public <


阅读全文(2768) | 回复(0) | 编辑 | 精华 | 删除
 


[Hibernate]Acegi+hibernate 动态实现基于角色的权限管理(1)
软件技术,  电脑与网络

lhwork 发表于 2006/6/13 11:31:01

    最近在做项目遇到了权限管理,用户要求可以自己建立不同的角色对系统的资源进行控制, 不同的用户有不同的角色,又恰恰框架中用到了struts+spring+hibernate,要求在web层调用 业务逻辑层 时不考虑权限,web层可以控制用户的显示界面,逻辑层处理用户权限问题。
想来想去好像只有spring 的aop 可以做到,在调用到 接口 中的方法时,首先检查用户的权限,如果检查通过则继续执行,否则抛出异常。但是新的问题又出现了,如何在逻辑层上来得到当前用户的id,以致用户的 角色,总不能每次都要从web中传来一个 httprequest,或者 session 这类的吧。在网上看了很多资料,发现了acegi,恰好解决了以上的难题,具体的实现原理这里就不多说了,网上有很多相关资料。
说正题,首先来看看acegi 的官方 example ,我下载的是acegi-security-1.0.0-RC1,解压缩后可以看到acegi-security-sample-contacts-filter.war,打开配置文件有这样几句


阅读全文(2278) | 回复(0) | 编辑 | 精华 | 删除
 


[Java Open Source]jBPM Overview Screencast
软件技术,  电脑与网络

lhwork 发表于 2006/6/13 11:24:04


阅读全文(2051) | 回复(0) | 编辑 | 精华 | 删除
 


[Java Open Source]ConcurrentSession的使用(Acegi)
软件技术,  电脑与网络

lhwork 发表于 2006/6/13 11:07:30

Acegi可以限制同一个用户名在同一时刻成功登录同一个应用的次数。例如,你可以阻止某个用户名在已经成功登录进web应用的同时再进行一次成功的登录。当然,这个允许同时成功登录的次数你是可以自己设定的。
为支持并发(concurrent)session支持,你需要加以下代码到web.xml: <listener>
<listener-class>org.acegisecurity.ui.session.HttpSessionEventPublisher</listener-class>

阅读全文(3634) | 回复(0) | 编辑 | 精华 | 删除
 


[Java Open Source]Acegi 参考的部分翻译
软件技术,  电脑与网络

lhwork 发表于 2006/6/13 10:55:46

目录表 序 1. 安全 1.1 准备 1.2 介绍 1.2.1 发布号编制说明    

阅读全文(3577) | 回复(0) | 编辑 | 精华 | 删除
 


[Java Open Source]Acegi简介
软件技术,  电脑与网络

lhwork 发表于 2006/6/13 10:49:03

    Acegi安全系统,是一个用于Spring Framework的安全框架,能够和目前流行的Web容器无缝集成。它使用了Spring的方式提供了安全和认证安全服务,包括使用Bean Context,拦截器和面向接口的编程方式。因此,Acegi安全系统能够轻松地适用于复杂的安全需求。
    Acegi安全系统,是一个用于Spring Framework的安全框架,能够和目前流行的Web容器无缝集成。它使用了Spring的方式提供了安全和认证安全服务,包括使用Bean Context,拦截器和面向接口的编程方式。因此,Acegi安全系统能够轻松地适用于复杂的安全需求。
    安全涉及到两个不同的概念,认证和授权。前者是关于确认用户是否确实是他们所宣称的身份。授权则是关于确认用户是否有允许执行一个特定的操作。
    在Acegi安全系统中,需要被认证的用户,系统或代理称为"Principal"。Acegi安全系统和其他的安全系统不

阅读全文(1980) | 回复(0) | 编辑 | 精华 | 删除
 


[Hibernate]Hibernate的延迟属性抓取
软件技术,  电脑与网络

lhwork 发表于 2006/6/12 15:13:11

再次犯了没有仔细看Hibernate Reference的错误,在Hibernate 3以上版本都支持对于property设置lazy="true",但一直我都以为只要设置了就可以实现的,今天和jindw讨论的时候才知道原来不是这样,^_^,赶快做了下试验,确实,即使对于property设置了lazy="true",但在调用获取了po中的任意非主键属性时其他所有的 property也就被加载了,也就是说lazy没有生效,到底怎么回事呢,翻阅Hibernate Reference才明白了这个问题:
property
(7)lazy (可选,默认为false) 指定实例变量第一次被访问时,这个属性是否延迟抓取(需要运行时字节码增强)
其实看这部分会在最后那句需要运行时字节码增强上迷糊,在hibernate reference中还有一句这样的话:“Hibernate也不需要使用任何编译期处理,比如字节码增强操作,它独立的使用Java反射机制和

阅读全文(6757) | 回复(0) | 编辑 | 精华 | 删除
 


[Hibernate]Hibernate获取数据方式与缓存使用
软件技术,  电脑与网络

lhwork 发表于 2006/6/12 15:08:16

Hibernate获取数据的方式有不同的几种,其与缓存结合使用的效果也不尽相同,而Hibernate中具体怎么使用缓存其实是我们很关心的一个问题,直接涉及到性能方面。
缓存在Hibernate中主要有三个方面:一级缓存、二级缓存和查询缓存;一级缓存在Hibernate中对应的即为session范围的缓存,也就是当 session关闭时缓存即被清除,一级缓存在Hibernate中是不可配置的部分;二级缓存在Hibernate中对应的即为 SessionFactory范围的缓存,通常来讲SessionFactory的生命周期和应用的生命周期相同,所以可以看成是进程缓存或集群缓存,二级缓存在Hibernate中是可以配置的,可以通过class-cache配置类粒度级别的缓存(class-cache在class中数据发生任何变化的情况下自动更新),同时也可通过collection-cache配置集合粒度级别的缓存(collection-cache仅在 collection中增加了元素或者删除了元素的情况下才自动更新,也就是当collection中元素发生值的变化的情况下它是不会自动更新的

阅读全文(1690) | 回复(0) | 编辑 | 精华 | 删除
 


[软件设计]缓存漫谈
软件技术,  电脑与网络

lhwork 发表于 2006/6/12 15:06:59

缓存是在提升系统响应时常用的一种技术,在我之前的blog中也提及过好几次这部分的技术,今天还是想从缓存涉及的一些方面再次的去谈谈,在系统缓存上通常采用的是有页面缓存、处理缓存和数据缓存这三种具体的类别,应该说这三种缓存在实现上还是稍有不同,尽管底层的缓存实现是一样的。
页面缓存
页面缓存是指对页面中的内容片断进行缓存的方案。比如页面中有一个部分是显示栏目中的内容的,那么就可以缓存这个部分,在进行第二次请求的时候就直接从缓存中取出这部分的内容(其实就是这部分的html了),这种情况下,缓存的作用其实非常明显,在典型的action+service+dao这样的结构中,在采用页面缓存后就意味着不需要经过action、service、dao这些层次的处理了,而是直接就返回了,对于系统响应速度的提升来说是非常明显的。
页面缓存通常采用oscache来进行实现,oscache提供了一个jsp tag,可通过这个tag来包含需要缓存的内容部分,当然,缓存的这个内容部分需要有对服务器的请求或逻辑计算等的,可想而

阅读全文(3107) | 回复(0) | 编辑 | 精华 | 删除
 


[Hibernate]hibernate对oracle的clob操作
软件技术,  电脑与网络

lhwork 发表于 2006/6/12 15:04:13

content.xml <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 2.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping>
<class name="oracle.Content" table="Content">
<id name="code" column="code" type="string" length="20">
<generator class="assigned"/>
</id>

阅读全文(2621) | 回复(0) | 编辑 | 精华 | 删除
 


« 121 122 123 124 125 126 127 128 129 130 »



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.109 second(s), page refreshed 144761989 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号