1

Apache DS のドキュメント (上級ガイド、第 2 章) には、パスワード ポリシー構成に設定できるすべての属性が詳細に記載されています。

これらのいくつかは機能しますが、つまり、構成可能な回数の不正なパスワードの試行後に自分自身をロックアウトすることに成功しましたが、そのうちの1つが機能していないことがわかりましたか? それとも間違って使用していますか?

これは pwdExpireWarning 属性です。ドキュメントには、これについて次のように記載されています (秒単位の数字である必要がある場合に、ブール値として誤って指定しますか?)。

"ads-pwdExpireWarning boolean 0 パスワードの有効期限が切れるまでの最大秒数であり、その有効期限警告メッセージが認証ユーザーに返されます (0 はメッセージがユーザーに送信されないことを意味します)"

ads-pwdMaxAge を (テスト目的で) 120 に設定すると、パスワードが実際に 120 秒後に期限切れになることが正しくわかります。

ただし、ads-pwdExpireWarning も 60 に設定し、60 秒後に (Java JNDI コードを使用して) ログインしようとすると、パスワードの有効期限が近づいているという警告を示すエラー コードが返されることを期待しています。そのような警告は表示されません。または、これに気付くにはどこを見ればよいのでしょうか? そのような警告がフラグ付けされている場合、Java コードはどこに通知する必要がありますか?

これが既知の問題であるかどうかを知っている人はいますか?現在の最新バージョンの Apache DS では、ads-pwdExpireWarning 属性がサポートされていませんか?

4

4 に答える 4

1

@EJP が述べたように、リクエストとともにパスワード ポリシー コントロールを渡す必要があります。

これは、 Apache LDAP APIを使用して簡単に実現できます(可能であれば、JNDI から離れてみてください)。この例を見てください

于 2013-06-18T07:00:05.433 に答える
0

サーバーは、認証が成功した後にのみカウンターを開始する可能性があります。これは、期限切れの警告の場合に意味のある唯一のことです。

于 2013-06-17T16:27:13.797 に答える
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>
于 2013-06-20T10:00:51.397 に答える
0

パスワード ポリシーの警告を取得するには、追加の要求制御を使用する必要があります。悲しいことに、JNDI はそれらを提供しないため、それらを自分で作成する必要があり、ASN.1 解析に対処する必要があるため、冗談ではありません。私はこれらのセットを自分で作成しましたが、それらは OpenLDAP 用であり、異なる属性名を使用する ApacheDS 用ではありません。それで機能するかどうかはわかりません。

于 2013-06-17T21:49:17.257 に答える