Не удается отобразить зарегистрированного пользователя в Spring Boot 2 / Thymeleaf 3 - PullRequest
0 голосов
/ 29 апреля 2019

Я внедряю базовое приложение с Spring Boot 2 и Thymeleaf 3. Я добился того, чтобы заставить вход / выход работать, со слоем безопасности, требующим входа на определенных страницах.

Я собираю очень простой интерфейс и пытаюсь отобразить имя пользователя вошедшего в систему пользователя.

Мой фрагмент этого раздела:

    <span class="user" sec:authorize="isAuthenticated()">
        <div sec:authentication="name"></div>
        <a th:href="@{/logout}">Logout</a>
    </span>

Я также получаю ссылку «Выйти» вне зависимости от сценария, что, по-видимому, связано с установкой anonymousUser authenticated=true в объекте Authentication.

Объект "Мой принцип" при входе в систему в точке запроса выглядит как ...

principal = {UsernamePasswordAuthenticationToken@10464} "org.springframework.security.authentication.UsernamePasswordAuthenticationToken@ffff4ca0: Principal: org.springframework.security.core.userdetails.User@586034f: Username: admin; Password: [PROTECTED]; Enabled: true; AccountNonExpired: true; credentialsNonExpired: true; AccountNonLocked: true; Granted Authorities: admin; Credentials: [PROTECTED]; Authenticated: true; Details: org.springframework.security.web.authentication.WebAuthenticationDetails@b364: RemoteIpAddress: 0:0:0:0:0:0:0:1; SessionId: null; Granted Authorities: admin"
 principal = {User@11314} "org.springframework.security.core.userdetails.User@586034f: Username: admin; Password: [PROTECTED]; Enabled: true; AccountNonExpired: true; credentialsNonExpired: true; AccountNonLocked: true; Granted Authorities: admin"
  password = null
  username = "admin"
  authorities = {Collections$UnmodifiableSet@11320}  size = 1
  accountNonExpired = true
  accountNonLocked = true
  credentialsNonExpired = true
  enabled = true
 credentials = null
 authorities = {Collections$UnmodifiableRandomAccessList@11315}  size = 1
 details = {WebAuthenticationDetails@11316} "org.springframework.security.web.authentication.WebAuthenticationDetails@b364: RemoteIpAddress: 0:0:0:0:0:0:0:1; SessionId: null"
 authenticated = true

Является ли очевидной причиной, по которой значение name не работает? Я также пробовал username, principle.username и user только на основе того, что я исследовал и попробовал прагматично, но все же я просто получаю это в DOM:

enter image description here

Буду признателен за любую помощь.

У меня thymeleaf-extras-springsecurity4 в моих зависимостях и xmlns:sec="http://www.thymeleaf.org/extras/spring-security" в моем шаблоне <html> tag

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...