Cannot log into Confluence or Crowd Console after restoring admin user rights

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

プラットフォームについて: Data Center - この記事は、Data Center プラットフォームのアトラシアン製品に適用されます。

このナレッジベース記事は製品の Data Center バージョン用に作成されています。Data Center 固有ではない機能の Data Center ナレッジベースは、製品のサーバー バージョンでも動作する可能性はありますが、テストは行われていません。サーバー*製品のサポートは 2024 年 2 月 15 日に終了しました。サーバー製品を利用している場合は、アトラシアンのサーバー製品のサポート終了のお知らせページにて移行オプションをご確認ください。

*Fisheye および Crucible は除く

症状

  1. Cannot log into Confluence or Crowd Console
  2. Restoring Passwords To Recover Admin User Rights via Database does not grant access 

The following may show in the atlassian-confluence.log:

com.atlassian.crowd.exception.PasswordEncoderNotFoundException: The PasswordEncoder 'null' was not found in the Internal Encoders list by the PasswordEncoderFactory
at com.atlassian.crowd.password.factory.PasswordEncoderFactoryImpl.getInternalEncoder(PasswordEncoderFactoryImpl.java:37)
Stack Trace:[hide]
com.atlassian.crowd.exception.PasswordEncoderNotFoundException: The PasswordEncoder 'null' was not found in the Internal Encoders list by the PasswordEncoderFactory
at com.atlassian.crowd.password.factory.PasswordEncoderFactoryImpl.getInternalEncoder(PasswordEncoderFactoryImpl.java:37)
at com.atlassian.crowd.directory.AbstractInternalDirectory.authenticate(AbstractInternalDirectory.java:339)
at com.atlassian.crowd.directory.AbstractInternalDirectory.processAuthentication(AbstractInternalDirectory.java:179)
at com.atlassian.crowd.directory.AbstractInternalDirectory.authenticate(AbstractInternalDirectory.java:147)
at com.atlassian.crowd.manager.directory.DirectoryManagerGeneric.authenticateUser(DirectoryManagerGeneric.java:276)
at com.atlassian.crowd.manager.application.ApplicationServiceGeneric.authenticateUser(ApplicationServiceGeneric.java:102)

診断

Running query against cwd_directory_attribute shows missing entry for attribute_name user_encryption_method. 

原因

At this time the root cause is not verified. Please comment below if you've found a potential cause. It's possible that the incorrect license type may have been entered into license field. 

回避策

As a workaround:

  1. Confluence をシャットダウンします。
  2.  Find the directory id of the Confluence Internal Directory

    select id from cwd_directory where directory_name ='Confluence Internal Directory';
  3. Run this query against your database to determine if the encryption method is already set:

    select attribute_value from cwd_directory_attribute where attribute_name like '%encryption_method%';
  4. If the query in Step 3 returns no rows found, run the below query against your database, replacing <your_directory_id> with the id from the previous query.

    insert into cwd_directory_attribute (directory_id, attribute_value, attribute_name) values (<your_directory_id>,'atlassian-security','user_encryption_method');

     

  5. If query in Step 3 returns a value other than atlassian-security, run this command against the database:

    update cwd_directory_attribute set attribute_value = 'atlassian-security' where attribute_name = 'user_encryption_method';
  6. Confluence を再起動します。
  7. Recreate LDAP directories if required, and access should be restored to users.

ソリューション

See workaround.

最終更新日: 2024 年 12 月 19 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.