`
suene
  • 浏览: 35625 次
社区版块
存档分类
最新评论

Spring Security Embadded LDAP

    博客分类:
  • java
阅读更多
Reference :
http://lengyun3566.iteye.com/blog/1358310 
http://www.zytrax.com/books/ldap/ch5/index.html#step1-ldif
http://krams915.blogspot.hk/2011/01/spring-security-mvc-using-embedded-ldap.html
http://static.springsource.org/spring-security/site/docs/3.2.x/reference/ldap.html



pom.xml,这里只写了 LDAP 的部分, spring security用的是 3.1.2.RELEASE

	<properties>
		<apacheDS.version>1.5.5</apacheDS.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>ldapsdk</groupId>
			<artifactId>ldapsdk</artifactId>
			<version>4.1</version>
		</dependency>
		<dependency>
			<groupId>org.codehaus.jackson</groupId>
			<artifactId>jackson-mapper-asl</artifactId>
			<version>1.9.12</version>
		</dependency>
		<dependency>
			<groupId>org.apache.directory.server</groupId>
			<artifactId>apacheds-core</artifactId>
			<version>${apacheDS.version}</version>
		</dependency>
		<dependency>
			<groupId>org.apache.directory.server</groupId>
			<artifactId>apacheds-core-entry</artifactId>
			<version>${apacheDS.version}</version>
		</dependency>
		<dependency>
			<groupId>org.apache.directory.server</groupId>
			<artifactId>apacheds-protocol-ldap</artifactId>
			<version>${apacheDS.version}</version>
		</dependency>
		<dependency>
			<groupId>org.apache.directory.server</groupId>
			<artifactId>apacheds-protocol-shared</artifactId>
			<version>${apacheDS.version}</version>
		</dependency>
		<dependency>
			<groupId>org.apache.directory.server</groupId>
			<artifactId>apacheds-server-jndi</artifactId>
			<version>${apacheDS.version}</version>
		</dependency>
		<dependency>
			<groupId>org.apache.directory.shared</groupId>
			<artifactId>shared-ldap</artifactId>
			<version>0.9.15</version>
			<type>jar</type>
		</dependency>
	</dependencies>



spring security 配置文件片段
	<ldap-server root="dc=springframework,dc=org" ldif="classpath:users.ldif" />
	<authentication-manager alias="authenticationManager">
		<ldap-authentication-provider user-search-filter="(uid={0})" user-search-base="ou=Users" group-search-base="ou=Groups" />
	</authentication-manager>


上文中的 users.ldif 文件
version: 1

dn: ou=Users,dc=springframework,dc=org
objectClass: extensibleObject
objectClass: organizationalUnit
objectClass: top
ou: Users

dn: cn=Sun Yi,ou=Users,dc=springframework,dc=org
objectClass: organizationalPerson
objectClass: person
objectClass: inetOrgPerson
objectClass: top
uid: sunyi
userPassword: admin
cn: Sun Yi

dn: ou=Groups,dc=springframework,dc=org
objectClass: extensibleObject
objectClass: organizationalUnit
objectClass: top
ou: Groups

dn: cn=Admin,ou=Groups,dc=springframework,dc=org
objectClass: groupOfUniqueNames
objectClass: top
uniqueMember: cn=Sun Yi,ou=Users,dc=springframework,dc=org
cn: Admin


有这些就可以用 ldap 登录了.

对于此例子:
用户名: sunyi
密码:admin
拥有的权限是 ROLE_ADMIN.
分享到:
评论

相关推荐

    embadded liunx -03

    在嵌入式Linux系统开发中,理解底层编程语言和计算机工作原理至关重要。本文将深入探讨其中的一个关键概念:汇编语言及其与高级语言、机器代码和微代码的关系,以及二进制数字系统在汇编中的应用。...

    embadded linux

    在"embadded linux documents doc1"中,我们可以推断这可能是一份关于嵌入式Linux的文档集,其中"doc1"可能是该系列文档的第一部分。这份文档可能涵盖了嵌入式Linux的基础知识、系统构建、驱动开发、内核裁剪以及...

    embadded liunx

    嵌入式Linux是一种专为特定用途设计的计算机系统,它主要使用Linux操作系统并优化以适应有限的硬件资源和特定的应用需求。嵌入式系统广泛应用于各种设备和行业中,从简单的家用电器到复杂的工业自动化系统。...

    Access Embadded Derby DataBase:我们可以将其称为简短而甜蜜的Hibernate类型实用程序。-开源

    它无需设置即可访问嵌入式derby数据库。 只有您必须传递AccessEmbeddedDerby aed = new AccessEmbeddedDerby(存储位置,dbname,dbusername,dbpassword); 就是这样,您的数据库已配置并启动。...

    Embedded-db-junit:JUnit规则,用于为测试提供嵌入式内存数据库

    嵌入式数据库junit 提供内存数据库的规则(同时支持和 )。 它与所有已知的JDBC访问库兼容,例如 , , , 或普通的JDBC。 为什么? 因为您要测试由代码执行SQL代码而不与实际的DB服务器集成 ...

    嵌入式C语言学习(英文原版)

    ### 嵌入式C语言学习(英文原版) #### 知识点一:嵌入式C语言概览 - **定义与应用领域**:嵌入式C语言是一种专门用于编写运行在嵌入式系统上的软件的语言。这些系统通常包括微控制器、数字信号处理器(DSPs)和其他...

Global site tag (gtag.js) - Google Analytics