`

利用OpenDS统一管理部门内部的账号(1)

阅读更多
现在要为部门搭建一个绿色的环境,将JIRA、WiKi用统一的账号管理。
服务器选择了tomcat6.0,LDAP选择了OpenDS2.2.0,JDK1.6
由于要的是绿色环境,那么把这些东西全部放在一个文件夹下,希望如果要把环境装到别的机器上,只用把这个文件夹COPY走就行。
目录结构如图:


因此要先配置一下TOMCAT,让tomcat去一个相对路径找JDK,在TOMCAT_HOME/bin 下编辑catalina.bat。在里边加上一句
set JAVA_HOME=..\..\jdk


安装OpenDS的步骤:http://www.opends.org/ 通过Java Web Start执行QuickSetup(必须要有JDK,在windows上可行,在Ubuntu上没执行)。

OpenDS服务器配置好以后,双击OpenDS_HOME/bat/control-panel.bat
打开控制台,启动服务。

把一下内容保存成一个ldif文件,如E:\environment\OpenDS\ldif\duke.ldif
# add group
dn: ou=Groups,dc=example,dc=com
changetype: add
ou: Groups
description: Group ou
objectClass: top
objectClass: organizationalUnit

# add people ou
dn: ou=People,dc=example,dc=com
changetype: add
ou: People
description: People
objectClass: top
objectClass: organizationalUnit

# add an authorized user (belongs to the group secure)
dn: uid=duke,ou=People,dc=example,dc=com
changetype: add
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
uid: duke
cn: The Duke
sn: Duke
givenName: The
userPassword: password

# unauthorized user
dn: uid=noaccess,ou=People,dc=example,dc=com
changetype: add
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
uid: noaccess
cn: No Access
sn: access
givenName: no
userPassword: noaccess

# add user to the webapp group
dn: cn=secure,ou=Groups,dc=example,dc=com
changetype: add
objectClass: top
objectClass: groupOfUniqueNames
uniqueMember: uid=duke,ou=People,dc=example,dc=com
cn: secure


然后打开CMD,到Opends\bin下输入ldapmodify -p 389 -a -D "cn=Directory Manager" -w password -f E:\environment\OpenDS\ldif\duke.ldif

这样就为OpenDS添加了一个权限组:secure   两个用户:duke、noaccess  ,并且在secure这个权限组里添加了duke。

可以在控制界面中,在People下添加用户,比如"boris",添加时要选择属性命名,选择uid。然后在secure组成员里添加uid=boris,ou=People,dc=example,dc=com
这样,boris就也有了权限。




现在,要在自己的web project中调用OpenDS的权限验证,先拿一个最简单的project试验出来再说。

首先要修改tomcat的server.xml
在<Engine></Engine>中间加入
<Realm className="org.apache.catalina.realm.JNDIRealm" debug="99"
    connectionName="cn=Directory Manager"
connectionPassword="boris"
     connectionURL="ldap://localhost:389"
       userPattern="uid={0},ou=people,dc=example,dc=com"
          roleBase="ou=groups,dc=example,dc=com"
          roleName="cn"
        roleSearch="(uniqueMember={0})"/>


第5行中的userPattern定义了验证用户的格式,这里是以uid开头。但是在OpenDS建立用户的时候,默认的是以cn开头的,建立时需要注意。

在TOMCAT_HOME/webapps下建立一个最简单的web project,只有一个index.html 内容是hello。

然后修改WEB-INF下的web.xml 如下:
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xsi="http://www.w3.org/2001/XMLSchema-instance" schemalocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> 
<security-role> 
<role-name>secure</role-name> 
</security-role> 
<!-- grant access to all users that possess the role 'secure' and deny all others --> 
<security-constraint>
 <web-resource-collection> 
<web-resource-name>opendsauthtest</web-resource-name>
 <url-pattern>/*</url-pattern>
 <http-method>GET</http-method> 
<http-method>POST</http-method>
 </web-resource-collection> 
<auth-constraint>
 <role-name>secure</role-name> 
</auth-constraint> 
</security-constraint> 
<!-- declare the app uses FORM based authentication using your newly created OpenDS realm --> 
<login-config>
 <auth-method>BASIC</auth-method>
 <realm-name>OpenDS</realm-name> 
</login-config> 
</web-app>


这里并不完全理解,主要注意<role-name>secure</role-name>,这就是要连接OpenDS的权限组的名称。

做完这些,启动tomcat 输入http://localhost:8080/test
弹出输入密码的页面,输入boris  boris   确定,进入到index.html页面。

《利用OpenDS统一管理部门内部的账号(2)》:
http://borissun.iteye.com/admin/blogs/781492
  • 大小: 4.6 KB
  • 大小: 38.5 KB
2
0
分享到:
评论

相关推荐

    OpenDS-2.0官方Administration Guide

    ### OpenDS-2.0官方Administration Guide 知识点概览 #### 一、OpenDS简介 OpenDS是由Sun Microsystems开发的一款...对于希望利用OpenDS构建稳定可靠的企业级目录服务的专业人士来说,这份指南无疑是宝贵的参考资料。

    OpenDS-1.2.0.

    OpenDS-1.2.0是一款开放源代码的目录服务器,专为管理和存储大量结构化数据而设计。这款工具在IT行业中主要用于身份管理和访问控制,是基于Java开发的,因此可以跨平台运行,包括UNIX系统和其他支持Java的环境,如...

    OpenDS-2.3.0-build003.zip

    1. **OpenDS Server**: 这是实际运行目录服务的主程序,负责处理目录查询、用户认证和数据存储。它基于LDAP(轻量级目录访问协议)和X.509证书,提供了一种标准的方式来管理用户账户和资源。 2. **Configuration ...

    OpenDS-2.0官方架构参考手册

    ### OpenDS-2.0官方架构参考手册知识点详解 #### 一、OpenDS概述 ...通过对上述知识点的详细了解,可以帮助用户更好地理解 OpenDS 的架构和技术特点,从而更有效地部署和利用这一优秀的开源项目。

    opends60.lib VC++能用的x64版本

    它包括了必要的头文件和库文件,使得开发者能够在C++环境中顺利地利用OpenDS60库进行开发。需要注意的是,由于这是针对SQL Server 2000的,对于更新的SQL Server版本,可能需要寻找其他兼容的库或API。

    Cognos8.3与OpenDS-1.0.0集成认证.doc

    ### Cognos 8.3 与 OpenDS-1.0.0 集成认证的知识点 #### 一、OpenDS 的安装与配置 **OpenDS** 是一个开源的目录服务,...通过这些步骤,可以有效地实现 Cognos 与 OpenDS 的无缝集成,提高系统的安全性和管理效率。

    OpenDS-2.2.1

    OpenDS是一个开源,基于LDAP与DSML标准的directoryservice。directoryservice不仅包括DirectoryServer,还有其它与directory相关的基本service如:directoryproxy、virtualdirectory、namespacedistribution和数据...

    OpenDS-1.2.0的windows下的安装配置文档.doc

    1. **解压文件**: 将下载的`OpenDS-1.2.0.zip`文件解压到指定路径,例如`D:\OpenDS-1.2.0`。 2. **设置环境变量**: - **JAVA_HOME**: 需要正确设置此环境变量,指向JDK的安装目录。例如,如果JDK安装在`C:\...

    IoT-OpenDS:OpenDS原始开源叉的一个叉

    物联网-openDS 这是 open-source分支,它是。此存储库中的更改: 包含资产(无需安装) 为添加了新任务安装只是克隆这个仓库在IDE中打开项目编辑Project properties &gt; Run &gt; Working directory :设置为OpenDS的根...

    openDS:开放数字样本 (openDS) 规范之家

    开放式DS 开放数字样本 (openDS) 规范的主页。 openDS 仍处于开发的早期阶段,您可以在此存储库中跟踪其进展。入门为了帮助您入门,我们提供了。 您还可以在那里找到有关,以及其他几个常见问题文档。 openDS 数据...

    OpenDS4All:OpenDS4All项目,由LF AI&Data托管

    OpenDS4All是一个旨在加速在学术机构中创建数据科学课程的项目。 尽管有很多在线资料可用于数据科学(包括在线课程),但我们认识到,让许多学生学习(以及让许多机构提供)内容的最佳方式是通过讲座,朗诵或课堂...

    Apache James 3.0支持LDAP参考文档

    总之,通过Apache James与OpenDS的集成,你可以构建一个强大且灵活的邮件解决方案,利用LDAP实现高效的身份验证和用户管理。这不仅简化了系统的维护,也为组织提供了强大的扩展能力,满足不断增长的需求。

    《开源身份管理软件指南》

    一个强大的身份管理系统可以提供统一的认证、授权和审计功能,确保数据安全的同时也简化了管理流程。 #### 访问与目录服务 访问控制是身份管理的核心部分之一。它确保只有经过验证的用户才能访问特定资源或系统。...

    matlab如何敲代码-openDS-oss:OpenDS.de汽车驾驶模拟器的镜像

    matlab如何敲代码OpenDS的自由 这是的open-source社区分支。 此存储库中的更改: 新的Cognitive load实验 在我们的GitHub存储库上促进了社区与开发人员的协作 预设的IDE(NetBeans)项目,安装更加方便 对上游代码的...

    ldap:活动目录示例,如ApacheDS,OpenDS,OpenDJ和slapd,使用诸如jxplorer之类的工具

    活动目录示例,如ApacheDS,OpenDS,OpenDJ和slapd,使用诸如jxplorer之类的工具 问-LDAP的同义词是什么? 一种 - Q-给它一些暗示 一种 - 问-什么是CN,DS,OpenDj,Slapd? 一种 - 问-什么是RDN,DN,OU,CN,DC...

    OpenDS:C ++ 17中的数据结构模板库

    OpenDS 利用了 C++17 标准引入的一些新特性,例如类型推断(auto 关键字)、结构化绑定、标准库中的新算法和容器改进等。这些特性使得代码更加简洁、易读,同时提高了效率。 **模板库** 作为模板库,OpenDS 的所有...

    修改WindchillDS配置,解决4444端口冲突

    这个问题的出现是因为JBoss服务器在运行时会占用4444至4445端口,而OpenDS的管理连接器也可能使用这个端口范围,导致在同一台服务器上同时安装Windchill解决方案和Adobe Lifecycle Server时产生冲突。 解决这个问题...

Global site tag (gtag.js) - Google Analytics