Java

本类阅读TOP10

·使用MyEclipse开发Struts框架的Hello World!(录像1)
·hibernate配置笔记
·AOP编程入门--Java篇
·linux下Tomcat 5.0.20 与 Apache 2 安装/集成/配置
·在win2003下整合了整合Tomcat5.5+ apache_2.0.53+ mod_jk_2.0.47.dll
·构建Linux下IDE环境--Eclipse篇
·Jsp 连接 mySQL、Oracle 数据库备忘(Windows平台)
·ASP、JSP、PHP 三种技术比较
·Tomcat5.5.9的安装配置
·AWT GUI 设计笔记(二)

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
Shark 用户管理以及认证管理实现分析

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

我的Shark的版本为:shark-1.0-1

一、用户及组管理

1、涉及的模块:

用户与组管理及对内部开放,也对外部开放,涉及的模块为SharkAPI、SharkKernel、SharkUserGroup

2、相关的数据库表:

如果用户与组信息存储到数据库,使用到的表为:UserTable、GroupTable、UserGroupTable、GroupGroupTable

3、实现说明

Shark给外部的接口是org.enhydra.shark.api.client.wfservice.UserGroupAdministration,大家通过这个接口就能管理用户和组(如添加、删除、修改用户等),它的实现类是org.enhydra.shark.UserGroupAdmin;

Shark内部的接口是org.enhydra.shark.api.internal.usergroup.UserGroupManager,这个Shark中其他模块使用的,比如org.enhydra.shark.UserGroupAdmin,UserGroupAdmin本身并不与存储用户数据资源(如表或者LDAP)打交道,而是通过UserGroupManager来实现所有的功能的(这也是接口的好处),UserGroupManager封装了对用户和组的操作,大家可以看看里面的方法,对UserGroupManager的实现,在模块SharkUserGroup中,目前Shark给出了三种实现:DODS、Hibernate、LDAP,详细的我就不说了,大家可以看看源代码。

4、我的实现

我自己实现了UserGroupManager,本来想把代码贴出来,但太长,所以就作罢,想要的话发邮件给我。

写好对UserGroupManager实现,第二步只要修改Shark.conf文件里UserGroupManagerClassName = implement.usergroup.StaticUserGroupManager(自己的实现类)。这样调用UserGroupAdministration时就能得到自己的用户信息了。

二、认证管理

因为认证管理也涉及到用户,所以在此也做以分析

1、涉及的模块:

认证管理及只对内部开放,涉及的模块为SharkAPI、SharkAuthentication

2、实现说明:

Shark给出的内部接口是org.enhydra.shark.api.internal.authentication.AuthenticationManager,只有两个方法:configure()和validateUser()configure()就不说了,大家都知道;validateUser()就是用来验证用户是否合法的。对AuthenticationManager的实现,在模块SharkAuthentication中,目前Shark也给出了三种实现:DODS、Hibernate、LDAP,大家看看源代码。我有点迷惑不解的就是它们的实现都不是通过UserGroupManager接口,而是自己直接操作表或LDAP来验证用户,这难道不是违背这种接口与模块设计的原则,也许它们不是同一般人开发的,并且同时进行。如果您有什么更好的解释,欢迎告诉我。

3、我的实现

强类建议大家使用UserGroupManager实现AuthenticationManager,同上,修改Shark.conf文件里AuthenticationManagerClassName = implement.usergroup.StaticAuthenticationManager(自己的实现类)。这样调用SharkConnection的connect()时是使用自己的验证类来验证用户的。

Mial:Wangxmwxm@163.com




相关文章

相关软件