Как получить атрибут идентификатора вошедшего в систему пользователя и установить его в качестве внешнего ключа в базе данных - PullRequest
0 голосов
/ 02 мая 2018

Так вот в чем дело. У меня есть 2 таблицы в базе данных: Пользователь и Клиент .

Пользователь может добавить одного или нескольких клиентов в базу данных. Поэтому я хочу, чтобы пользователь добавил клиента - функция извлечет id зарегистрированного пользователя и добавит его в качестве внешнего ключа в таблицу клиентов.

Я уже сделал OneToMany Картирование.

Вот мой контроллер:

@RequestMapping(value = "/postficheclient", method = RequestMethod.POST)
public ResponseEntity<?> createClient(@RequestBody Client newClient) {
    // newClient.setUser(user);
    return new ResponseEntity<Client>(clientservices.save(newClient), HttpStatus.CREATED);
}

С помощью этой функции добавляется значение null в таблицу Client.

Может кто-нибудь помочь мне, пожалуйста?

PS: я использую систему безопасности пружины.

1 Ответ

0 голосов
/ 02 мая 2018

В Spring Security вы можете получить зарегистрированного клиента через SecurityContextHolder.getContext (). GetAuthentication ()

и вы можете получить различные детали от:

  • getPrincipal () - обычно идентификатор пользователя
  • getAuthorities () - власти
  • getDetails () - дополнительные данные пользователя

Информация, размещаемая в различных полях, зависит от того, как Spring Security обрабатывает ваш механизм аутентификации, но я думаю, вы можете найти то, что вам нужно в принципе.

...