Spring security 百里香叶+;Spring安全表达式语言

Spring security 百里香叶+;Spring安全表达式语言,spring-security,spring-boot,thymeleaf,Spring Security,Spring Boot,Thymeleaf,我正试图从Thymeleaf获取Spring Security中的UserDetails对象。我尝试过各种SpEl方法,例如: ${#authentication.principal.blahblah} 我试图将其分配给Javascript变量,如下所示: var foo=“${#authentication.principal.blahblah}” 我使用的是SpringBoot 1.2.5,声明了依赖项 <script th:inline="javascript"> var fo

我正试图从Thymeleaf获取Spring Security中的
UserDetails
对象。我尝试过各种SpEl方法,例如:

${#authentication.principal.blahblah}

我试图将其分配给Javascript变量,如下所示:

var foo=“${#authentication.principal.blahblah}”

我使用的是SpringBoot 1.2.5,声明了依赖项

<script th:inline="javascript">
var foo = /*[[${#authentication.principal.blahblah}]]*/;
</script>

var foo=/*[${#authentication.principal.blahblah}]*/;

仅使用模式
/*[${{{authentication.principal.username}]*/
可能会出现类似NPE的异常。所以我通常使用下面的表达式

/*[# sec:authorize="isAuthenticated()"]*/
const loginUserName = /*[[${#authentication.principal.username}]]*/ 'admin'
/*[/]*/

你有没有试过先打印出这样的东西<代码>
。您也可以查看这篇文章:SpringBoot1.2默认使用SpringSecurity3,但您使用的是Thymeleaf的SpringSecurity4集成。这要么会破坏一些东西,要么你的问题不完整,因为你已经做了一些你没有描述的配置。