GET /api/account returns error when LDAP authentication is enabled in Jhipster uaa app

佐手、 提交于 2020-01-16 18:05:12

问题


Overview of the issue

GET /api/account return 500 error when we have ldap integration in jhipster uaa, the user is present in ldap directory not in the uaa DB, therefore it return 500 error, no user found

Motivation for or Use Case

It is a doubt, so my question is should we add the user in DB after successful authentication from Ldap or do I need to update the API according to my requirement, which will be the solution.

Reproduce the error

Add embedded ldap configuration in uaa:

@override
public void configure(AuthenticationManagerBuilder auth) throws Exception {
if (enabled.equalsIgnoreCase("true")) {
ContextSourceBuilder csb = auth.ldapAuthentication().userSearchBase(userSearchBase).userSearchFilter(userSearchFilter).groupSearchBase(groupSearchBase).groupSearchFilter(groupSearchFilter).contextSource();
if (StringUtils.isNotEmpty(root)) {
csb.root(root);
}
if (StringUtils.isNotEmpty(ldapUrl)) {
csb.url(ldapUrl);
}
if (StringUtils.isNotEmpty(ldifFilePath)) {
csb.ldif(ldifFilePath);
}
if (StringUtils.isNotEmpty(manager)) {
csb.managerDn(manager);
}
if (StringUtils.isNotEmpty(managerPassword)) {
csb.managerPassword(managerPassword);
}
} else {
auth.userDetailsService(userDetailsService).passwordEncoder(passwordEncoder());
}
}

When user logs in, the user is verified from ldap directory and after login GET /api/account is trigerred for some information. The user is not present in the uaa app DB, therefore it returns error.

Related issues

Suggest a Fix

JHipster Version(s)

4.3.0

JHipster configuration

Welcome to the JHipster Information Sub-Generator

JHipster Version(s)

/home/varunn/git/etuaa `-- generator-jhipster@4.3.0

JHipster configuration, a .yo-rc.json file generated in the root folder

{
  "generator-jhipster": {
    "promptValues": {
      "packageName": "com.abc.uaa",
      "nativeLanguage": "en"
    },
    "jhipsterVersion": "4.3.0",
    "baseName": "uaa",
    "packageName": "com.abc.uaa",
    "packageFolder": "com/abc/uaa",
    "serverPort": "9999",
    "authenticationType": "uaa",
    "hibernateCache": "hazelcast",
    "clusteredHttpSession": false,
    "websocket": false,
    "databaseType": "sql",
    "devDatabaseType": "h2Disk",
    "prodDatabaseType": "mysql",
    "searchEngine": false,
    "messageBroker": false,
    "serviceDiscoveryType": "eureka",
    "buildTool": "maven",
    "enableSocialSignIn": false,
    "enableTranslation": true,
    "applicationType": "uaa",
    "testFrameworks": [
      "gatling",
      "cucumber"
    ],
    "jhiPrefix": "jhi",
    "skipClient": true,
    "nativeLanguage": "en",
    "languages": [
      "en",
      "fr",
      "es"
    ],
    "clientPackageManager": "yarn"
  }
}

Entity configuration(s) entityName.json files generated in the .jhipster directory

ls: no such file or directory: .jhipster/*.json

Browsers and Operating System

java version "1.8.0_131" Java(TM) SE Runtime Environment (build 1.8.0_131-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

git version 2.7.4

node: v8.4.0

npm: 5.3.0

yeoman: 1.8.5

yarn: 0.24.6

Docker version 17.03.1-ce, build c6d412e

docker-compose version 1.14.0, build c7bdf9e

Entity configuration(s) entityName.json files generated in the .jhipster directory

Browsers and Operating System

Chrome and

Ubuntu 16.04

来源:https://stackoverflow.com/questions/46220538/get-api-account-returns-error-when-ldap-authentication-is-enabled-in-jhipster-u

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!