2013-06-17 2 views
1

Apache DS 문서 (고급 가이드, 2 장)에는 암호 정책 구성에 설정할 수있는 모든 속성이 자세히 나와 있습니다.(Apache DS) ads-pwdExpireWarning이 작동하지 않거나 지원되지 않습니까?

구성 가능한 횟수의 잘못된 암호 시도 후에 우리가 성공적으로 잠글 수있는 몇 가지 작업이 있지만 그 중 하나가 작동하지 않는 것으로 나타났습니다. 아니면 우리가 잘못 사용하고 있을까요?

이것은 pwdExpireWarning 속성입니다. 이 문서에서는 다음과 같이 언급합니다 (초 단위의 숫자 일 때 부울로 잘못 지정 함).

"광고 - pwdExpireWarning 부울 0 암호되기까지의 시간 (초)의 최대 수는 만료, 그리고 그 만료 경고 메시지 (0은 메시지가 사용자에게 전송되지 줘야 의미)을 인증 사용자에게 반환 될 것"

ads-pwdMaxAge를 120으로 설정하면 (테스트 목적으로 만 사용) 비밀번호가 실제로 120 초 후에 만료됩니다.

그러나 ads-pwdExpireWarning도 60으로 설정하고 60 초 후에 Java JNDI 코드를 사용하여 로그인을 시도하면 암호가 만료 될 것이라는 경고를 나타내는 오류 코드가 표시됩니다 . 우리는 그러한 경고를 얻지 못한다. Java 코드 쿼리는 경고가 플래그 된 경우이를 알 수 있습니까?

알려진 문제인지 알고 현재 최신 버전의 Apache DS에서 ads-pwdExpireWarning 속성이 지원되지 않습니다.

답변

0

인증이 성공한 후에 만 ​​서버가 카운터를 시작하기 때문에 만료 경고가 발생하는 경우에만 의미가 있습니다.

0

암호 정책 경고를 얻으려면 추가 요청 컨트롤을 사용해야합니다. 안타깝게도 JNDI가 제공하지 않으므로 직접 작성해야하며 ASN.1 구문 분석에 대처해야하므로 농담이 아닙니다. 필자는 set of these이라고 적었습니다.하지만 다른 속성 이름을 사용하는 ApacheDS가 아니라 OpenLDAP 용입니다. 실제로 작동하는지 확실하지 않습니다.

1

@EJP에서 언급했듯이 요청과 함께 암호 정책 컨트롤을 전달해야합니다.

Apache LDAP API을 사용하여 쉽게 구현할 수 있습니다 (가능한 경우 JNDI에서 벗어나려고 시도). 이것 좀 봐 example

+0

대단히 감사합니다. 샘플 코드를 보는 것은 매우 유용하며 필요한 모든 작업을 수행 할 수있는 것 같습니다. 그러나 pom.xml을 제공하여 올바른 종속성을 얻을 수 있습니까? 일부 샘플 테스트를 실행하면 다음과 같은 오류가 발생합니다 ... – user2485980

+0

'schema/ou = schema/cn = apachemeta/ou = matchingrules/m-oid = 1.3.6.1.4.1.18060.0 .4.0.1.3.ldif '는 URL에있는 classpath에 있습니다 (.... 여기에 표시된 3 개의 jar 파일을 제외 시켰습니다) – user2485980

+0

내 pom.xml에 대한 세부 정보를 제공합니다. (댓글이 아닌) 게시물에서 댓글 섹션으로 갈 수 없을만큼 길다. 다시 한번 감사드립니다. API는 매우 유용합니다. – user2485980

0

언급했듯이 다른 답변에서 제공된 LDAP API 예제를 사용하는 데 문제가있었습니다 (매우 유용 해 보였지만). 내 pom.xml 종속성은 다음과 같습니다.

<dependency> 
     <groupId>log4j</groupId> 
     <artifactId>log4j</artifactId> 
     <version>1.2.14</version> 
     <scope>provided</scope> 
    </dependency> 

    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-log4j12</artifactId> 
     <version>1.5.10</version> 
     <scope>provided</scope> 
    </dependency> 

<dependency> 
    <groupId>org.apache.directory.api</groupId> 
    <artifactId>api-ldap-client-all</artifactId> 
    <version>1.0.0-M17</version> 
</dependency> 

<dependency> 
    <groupId>org.apache.directory.api</groupId> 
    <artifactId>api-ldap-extras-util</artifactId> 
    <version>1.0.0-M17</version> 
</dependency> 

<dependency> 
    <groupId>org.apache.directory.api</groupId> 
    <artifactId>api-ldap-extras-codec-api</artifactId> 
    <version>1.0.0-M17</version> 
</dependency> 

<dependency> 
    <groupId>org.apache.directory.api</groupId> 
    <artifactId>api-ldap-extras-codec</artifactId> 
    <version>1.0.0-M17</version> 
</dependency> 

<dependency> 
     <groupId>org.apache.directory.server</groupId> 
     <artifactId>apacheds-core-integ</artifactId> 
     <version>2.0.0-M2</version> 
</dependency> 

<dependency> 
    <groupId>org.apache.directory.server</groupId> 
    <artifactId>apacheds-all</artifactId> 
    <version>2.0.0-M12</version> 
</dependency> 
+1

apached-all 종속 항목에서 api-ldap-schema-data 아티팩트를 제외 해보십시오. org.apache.directory.server apacheds 2.0.0-M12 org.apache.directory.api API-LDAP 스키마 데이터 아직 – kayyagari

+0

하지 wrking.3clashes are1/조직/아파치/디렉토리/API/API를 -all -ldap-client-all/1.0.0-M17/api-ldap-client-all-1.0. 0-M17.jar!/schema/ou % 3dschema/cn % 3dapachemeta/ou % 3dmatchingrules/m-oid % 3d1.3.6.1. 4.1.18060.0.4.0.1.3.ldif 2/org/apache/디렉토리/공유/공유 -LDAP 스키마 데이터/1.0.0-M7/공유 -LDAP 스키마 데이터 -1.0.0-M7.jar!/schema/ou % 3dschema/cn % 3dapachemeta/ou % 3dmatchingrules/mid % 3d1.3.6.1.4.1.18060.0.4.0.1.3.ldif 3/org/apache /directory/server/apacheds-all/2.0.0-M12/apacheds-all-2.0.0-M12.jar!/schema/ou % 3dschema/cn % 3dapachemeta/ou % 3dma tchingrules/m-oid % 3d1.3.6.1.4.1.18060. 0.4.0.1.3.ldif – user2485980

+0

pom.xml 파일을 복사하거나 보내 주시면 시험을 치러야 할 모든 올바른 의존성을 갖게됩니까? 당신이 보내서 일하는 코드. 아파치 페이지의 문서는 오래되어 보이지 않습니다. 필자는이 API를 사용하여 특정 요구 사항을 수행 할 수 있는지 여부를 확인하고자합니다. – user2485980

관련 문제