현재 위치 - 중국 분류 정보 발표 플랫폼 - 비즈니스 서비스 정보 - ldap 통합 사용자 인증

ldap 통합 사용자 인증

LDAP(Lightweight Directory Access Protocol)는 기업 내의 다양한 애플리케이션 시스템이 동일한 사용자 계정 및 비밀번호 세트를 공유할 수 있도록 통합 사용자 인증 메커니즘을 제공할 수 있는 경량 디렉토리 액세스 프로토콜입니다. 사용자 인증 통합 관리. 이 기사에서는 LDAP를 사용하여 통합 사용자 인증을 구현하는 방법을 소개합니다.

1. LDAP의 기본 개념

1.1 디렉토리 서비스

LDAP는 사용자 계정, 조직 구조, 네트워크 자원 등 LDAP의 데이터 구조는 파일 시스템의 디렉터리 구조와 유사한 트리 구조이며 각 노드에는 고유한 DN(DistinguishedName) 식별자가 있습니다.

1.2 LDAP 클라이언트

LDAP 클라이언트는 LDAP 프로토콜을 사용하여 LDAP 서버와 통신하는 응용 프로그램을 의미하며, LDAP 서버의 데이터를 쿼리, 추가, 수정 및 쿼리할 수 있습니다. . 삭제 및 기타 작업.

1.3LDAP 서버

LDAP 서버는 LDAP 서비스를 제공하는 소프트웨어 시스템을 의미하며, LDAP 디렉토리에 데이터를 저장하고 관리할 수 있으며 LDAP 클라이언트에 LDAP 프로토콜 인터페이스를 제공합니다. 작업을 수행합니다.

2. LDAP 통합 사용자 인증 구현 단계

2.1 LDAP 서버 설치 및 구성

먼저 LDAP 서버를 공통적으로 설치하고 구성해야 합니다. 사용되는 LDAP 서버에는 OpenLDAP, Active Directory 등이 포함됩니다. 여기서는 OpenLDAP를 예로 들어보겠습니다.

2.1.1 OpenLDAP 설치

Linux 시스템에서는 다음 명령을 사용하여 OpenLDAP를 설치할 수 있습니다:

```

yuminstallopenldapopenldap-serversopenldap-clients

```

2.1.2 OpenLDAP 구성

OpenLDAP를 구성하려면 /에 있는 slapd.conf 파일을 편집해야 합니다. etc/openldap 디렉토리 . 파일은 다음 명령을 사용하여 열 수 있습니다:

```

vi/etc/openldap/slapd.conf

```

이 파일에서는 다음 내용을 구성해야 합니다:

(1) 기본 구성

```

include/etc/openldap/ 스키마/코어.스키마

pidfile/var/run/openldap/slapd.pid

argsfile/var/run/openldap/slapd.args

`` `

(2) 데이터베이스 구성

```

databasebdb

접미사 "dc=example, dc=com"

rootdn"cn=admin,dc=example,dc=com"

rootpw{SSHA}xxxxxxxxxxxxxxxxxxxxxx

directory/var/lib/ldap

< p>`` `

이 중, Database는 BDB 데이터베이스를 사용한다는 의미, suffix는 LDAP 루트 노드의 DN, rootdn은 관리자 계정의 DN, rootpw는 관리자 계정의 비밀번호를 의미하며, 디렉토리는 LDAP 데이터가 저장되는 디렉토리를 의미합니다.

2.2 LDAP 사용자 추가

LDAP 사용자를 추가하려면 일반적으로 사용되는 LDAP 클라이언트에는 ldapadd, ldapmodify 등이 있습니다. 여기서는 ldapadd를 예로 들어보겠습니다.

2.2.1 LDIF 파일 생성

LDIF(LDAPDataInterchangeFormat)는 LDAP 디렉터리의 데이터를 설명하는 데 사용되는 텍스트 형식입니다. LDIF 파일은 다음 명령을 사용하여 생성할 수 있습니다:

```

viuser.ldif

```

여기서 파일에 다음 내용을 추가해야 합니다:

```

dn: cn=user1, ou=people, dc=example, dc=com

objectClass: 상단

objectClass: 사람

objectClass: organizationPerson

objectClass: inetOrgPerson

cn: user1

sn: user1

givenName: user1

mail: user1@example.com

userPassword: {SSHA}xxxxxxxxxxxxxxxxxxxxxx

`` `

이 중에서 dn은 사용자의 DN을 나타내고, objectClass는 사용자의 개체 범주를 나타내며, cn은 사용자의 사용자 이름을 나타내고, sn은 사용자의 성을 나타내고, 주어진Name은 사용자의 이름을 나타내고, mail은 사용자의 사서함을 나타냅니다. . userPassword는 사용자의 비밀번호를 나타냅니다.

2.2.2 LDAP 사용자 추가

LDAP 서버에 사용자를 추가하려면 다음 명령을 사용하십시오:

```

ldapadd -x-D"cn=admin,dc=example,dc=com"-wpassword-fuser.ldif

```

이 중 -x는 단순 인증을 사용한다는 의미입니다. - D는 관리자 계정의 DN을 나타내고, -w는 관리자 계정의 비밀번호를 나타내며, -f는 가져올 LDIF 파일을 나타냅니다.

2.3 통합 응용 시스템

통합 응용 시스템은 응용 시스템에서 LDAP 인증을 구성해야 합니다. 일반적으로 사용되는 응용 시스템에는 웹 응용 프로그램, 메일 시스템, 파일 공유 시스템 등이 있습니다. 여기서는 설명을 위해 웹 애플리케이션을 예로 들어 보겠습니다.

2.3.1 웹 애플리케이션 구성

웹 애플리케이션에서는 LDAP 인증 플러그인을 사용하여 LDAP 인증을 구현할 수 있습니다. 일반적으로 사용되는 LDAP 인증 플러그인에는 mod_auth_ldap, LDAPAuth 등이 있습니다. 여기서는 mod_auth_ldap을 예로 들어보겠습니다.

먼저 mod_auth_ldap 모듈을 설치하고 구성해야 합니다. 다음 명령을 사용하여 설치할 수 있습니다:

```

yuminstall=admin,dc =example,dc=com"

AuthLDAPBindPasswordpassword

Requirevalid-user

```

이 중 LoadModule은 mod_auth_ldap을 로드하는 것을 의미합니다. 모듈이고 Location은 LDAP 인증이 필요함을 의미하고, AuthName은 인증 프롬프트 정보를 나타내고, AuthType은 인증 유형을 나타내며, AuthBasicProvider는 인증 공급자를 나타내고, AuthLDAPURL은 LDAP 서버의 URL을 나타내고, AuthLDAPBindDN은 관리자 계정의 DN을 나타냅니다. , AuthLDAPBindPassword는 관리자 계정의 비밀번호를 나타내고, Require는 인증이 필요한 사용자를 나타냅니다.

2.3.2 LDAP 인증 테스트

브라우저를 사용하여 URL 경로에 액세스합니다. 웹 애플리케이션을 입력하고 LDAP 사용자의 사용자 이름과 비밀번호를 입력하면 성공적으로 로그인할 수 있다는 의미입니다.