ITPub博客

首页 > IT基础架构 > 网络安全 > 使用Apache Directory 的LDPA连接JOSSO验证

使用Apache Directory 的LDPA连接JOSSO验证

原创 网络安全 作者:xuniji123 时间:2008-04-11 13:52:58 0 删除 编辑

使用Apache Directory 的LDPA连接JOSSO验证

目 录

一、安装Apache Directory Suite. 1

二、Apache Directory Studio(Client)连接Apache Directory Server(Server) 5

三、用Apache Directory Studio增加用户和角色信息的Entry. 8

四、配置Josso的josso-gateway-config.xml 15[@more@]

使用Apache Directory 的LDPA连接JOSSO验证

目 录

一、安装Apache Directory Suite. 1

二、Apache Directory Studio(Client)连接Apache Directory Server(Server) 5

三、用Apache Directory Studio增加用户和角色信息的Entry. 8

四、配置Josso的josso-gateway-config.xml 15

一、安装Apache Directory Suite

下载apacheds-suite-1.0-setup.exe

下载地址:http://apache.mirror.phpchina.com/directory/apacheds/unstable/1.5/1.5.1/

双击安装,一路next,记住Apache Directory Server服务器的安装路径。

之中需要选择JDK的安装路径,所以之前必须安置好JDK,此处为安装的为JDK6,注意其默认找到的是jre,要该为jdk才行,如图:

安装最后,提示是否启动LDAP服务,选择是。确保服务启动。在管理,服务管理中看到

注意安装Apache Directory Serverinstancesdefaultconf目录下的server.xml配置文件,后面再客户端Apache Directory Studio中创建连接时用到其中的DN和密码等信息。

二、Apache Directory Studio(Client)连接Apache Directory Server(Server)

打开Apache Directory Studio,切换到LDAP视图模式下,如同

在左下角Connections视窗空白,点右键创建一个Connection,此处连接本地的Apache Directory Server。其中的Port在server.xml中

<!-- The port to run the LDAP protocol on. -->

进行配置。

输入认证信息,这里的信息从之前提到的server.xml中获得,比如其中Bind DN or user和Bind password分别为server.xml中的

uid=admin,ou=system

secret

的值。

点击Fetch Base DNs获得Base DN。Finish成功建立Client和Server的连接。

三、用Apache Directory Studio增加用户和角色信息的Entry

打开刚才建立的Connection,添加如下的树型信息。

其中ou=People和ou=Roles为新建的Entry,分别存放用户的信息和角色的信息,其中角色信息中包括该角色有哪些用户。

添加过程:

添加ou=People:

信息如下

dn: ou=People, dc=example,dc=com

ou: People

objectClass: top

objectClass: organizationalUnit

在其上级dc=example,dc=com上右键,New Entry…

选择默认,Next

选择objectClass

完成ou=People,接下来在其中添加两个用户user1和user2。

dn: uid=user1,ou=People, dc=example,dc=com

objectClass: top

objectClass: person

objectClass: organizationalPerson

objectClass: inetOrgPerson

sn: User1 SN

cn: User1 CN

uid: user1

userpassword: user1pwd

mail: user1@josso.org

dn: uid=user2,ou=People, dc=example,dc=com

objectClass: top

objectClass: person

objectClass: organizationalPerson

objectClass: inetOrgPerson

sn: User2 SN

cn: User2 CN

uid: user2

userpassword: user2pwd

mail: user2@josso.org

在ou=People其上右键,New Entry…

过程和之前一样,只是选择objectClass时,应选organizationalPerson和inetOrgPerson

完成时得到如图结果。

细心用户发现没有添加userpassword属性。

由于在添加该Attribute时,系统发现去是密码,所以要选择HASH加密算法,用户使看不到密码明文的,为了和Josso整合,笔者也对其进行了加密,采用的是MD5,然而后来在Josso的配置中同样采用相同的MD5用户登录时输入的密码也加密,以便和这里的匹配,然而,就是不对,因为大小写的问题吧,这里的Attribute得到的是小写的MD5结果,而Josso得到的是大写的MD5,二者不一致,把笔者郁闷了,根本不能用啊,要么我就得改Josso的源码,让其验证时不区分大小写。为了节约时间,笔者绕过这一属性,在Josso中改用email为密码,去掉密码加密,让用户输入邮箱来和这里的email Attribute匹配即可。

同理增加user2信息。

接着同理增加ou=Roles、cn=role1、cn=role2,并让role1有user1和user2,role2有user2。

dn: ou=Roles, dc=example,dc=com

ou: Roles

objectClass: top

objectClass: organizationalUnit

dn: cn=role1,ou=Roles, dc=example,dc=com

objectClass: top

objectClass: groupOfUniqueNames

cn: role1

uniqueMember: uid=user1,ou=People, dc=example,dc=com

uniqueMember: uid=user2,ou=People, dc=example,dc=com

dn: cn=role2,ou=Roles, dc=example,dc=com

objectClass: top

objectClass: groupOfUniqueNames

cn: role2

uniqueMember: uid=user2,ou=People, dc=example,dc=com

注意,其中的cn、ou等名称在Josso配置中将用到。

四、配置Josso的josso-gateway-config.xml

1.修改中的内容如下:

org.josso.gateway.identity.service.store.ldap.LDAPIdentityStore

com.sun.jndi.ldap.LdapCtxFactory

ldap://localhost:10389/

uid=admin,ou=system

secret

simple

<!-- Valid values are : SUBTREE, ONELEVEL -->

SUBTREE

ou=People,dc=example,dc=com

uid

ou=Roles,dc=example,dc=com

uniquemember

cn

uid=username,mail=password

mail=mail,cn=description

2.修改中的内容如下:

org.josso.gateway.identity.service.store.ldap.LDAPIdentityStore

com.sun.jndi.ldap.LdapCtxFactory

ldap://localhost:10389/

uid=admin,ou=system

secret

simple

<!-- Valid values are : SUBTREE, ONELEVEL -->

ONELEVEL

ou=People,dc=example,dc=com

uid

ou=Roles,dc=example,dc=com

uniquemember

cn

uid=username,mail=password

mail=mail,cn=description

SUBTREE

注意以上两步中的

uid=username,mail=password

是mail=password而不是userpassword=password,原因之前已经说明,这样的话就要求用户输入密码为用户的email时才能登录。

同时,注意以上两步中的ldap://localhost:10389/

uid=admin,ou=system

其中ldap://localhost:10389/可以在Apache Directory Studio中

在Root DSE上右键,查看Properties获得。

其中的uid=admin,ou=system和Apache Directory Server中的server.xml一致。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/8271432/viewspace-1002322/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    44
  • 访问量
    444505