PasswordEncoderNotFoundException during login after restoring from Cloud Export

お困りですか?

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

コミュニティに質問

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

Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Fisheye および Crucible は除く

問題

After restoring a Cloud export to JIRA Server, you find that you are unable to login as any user.  

atlassian-jira.log に次のメッセージが出力される。

2017-06-22 10:28:00,568 http-nio-8080-exec-6 ERROR      [o.a.c.c.C.[.[localhost].[/].[default]] Servlet.service() for servlet [default] in context with path [] threw exception
com.atlassian.crowd.exception.PasswordEncoderNotFoundException: You cannot get a null password encoder from the factory
	at com.atlassian.crowd.password.factory.PasswordEncoderFactoryImpl.checkArgument(PasswordEncoderFactoryImpl.java:158)
	at com.atlassian.crowd.password.factory.PasswordEncoderFactoryImpl.getInternalEncoder(PasswordEncoderFactoryImpl.java:55)
	at com.atlassian.crowd.directory.AbstractInternalDirectory.authenticate(AbstractInternalDirectory.java:419)
	at com.atlassian.crowd.directory.AbstractInternalDirectory.processAuthentication(AbstractInternalDirectory.java:256)
	at com.atlassian.crowd.directory.AbstractInternalDirectory.authenticate(AbstractInternalDirectory.java:222)
	at com.atlassian.crowd.manager.directory.DirectoryManagerGeneric.authenticateUser(DirectoryManagerGeneric.java:311)
	at com.atlassian.crowd.manager.application.ApplicationServiceGeneric.authenticateUser(ApplicationServiceGeneric.java:198)
	at com.atlassian.crowd.embedded.core.CrowdServiceImpl.authenticate(CrowdServiceImpl.java:75)
	at com.atlassian.jira.security.login.JiraSeraphAuthenticator.crowdServiceAuthenticate(JiraSeraphAuthenticator.java:75)
	at com.atlassian.jira.security.login.JiraSeraphAuthenticator.authenticate(JiraSeraphAuthenticator.java:49)
	at com.atlassian.seraph.auth.DefaultAuthenticator.login(DefaultAuthenticator.java:88)
	... 13 filtered
	at com.atlassian.plugins.rest.module.servlet.RestSeraphFilter.doFilter(RestSeraphFilter.java:37)
	... 20 filtered
	at com.atlassian.jira.servermetrics.CorrelationIdPopulatorFilter.doFilter(CorrelationIdPopulatorFilter.java:30)
	... 10 filtered
	at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21)
	... 4 filtered
	at com.atlassian.web.servlet.plugin.LocationCleanerFilter.doFilter(LocationCleanerFilter.java:36)
	... 29 filtered
	at com.atlassian.jira.servermetrics.MetricsCollectorFilter.doFilter(MetricsCollectorFilter.java:25)
	... 28 filtered
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:745)

診断

Diagnostic Steps

  • Check to see if there is any data in the cwd_directory_attribute table: 

    select * from cwd_directory_attribute;
  • Or, examine the entities.xml file in your Cloud export, looking for a row like this (it's probably missing): 

    <DirectoryAttribute directoryId="1" name="user_encryption_method" value="atlassian-security"/>

原因

It appears that this data isn't being correctly exported for some Cloud instances:  JRACLOUD-67061 - Getting issue details... STATUS

回避策

To workaround this, we can insert the missing data to JIRA's database:

  • First, confirm that the directory ID for JIRA's Internal user directory is "1": 

    select * from cwd_directory;
  • If the ID from above isn't '1', then update the query below accordingly, otherwise, run this to add the missing but required attribute into JIRA's database:

    データベースの変更を行う場合は必ず事前にバックアップを取得してください。可能な場合は、まずステージング サーバーで SQL コマンドの変更、挿入、更新、または削除を行うようにします。

    INSERT INTO cwd_directory_attribute ("directory_id","attribute_name","attribute_value") VALUES ('1','user_encryption_method','atlassian-security');
  • Jira を再起動します。

 

最終更新日 2017 年 6 月 22 日

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

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