我正在尝试使用spring boot admin(服务器+客户端)设置示例应用程序,并且遇到身份验证问题。
在客户端的管理/执行器端点上启用spring安全性后,spring-boot-admin服务器似乎无法与客户端进行通信-通过Web浏览器登录到Admin界面会导致连续的身份验证循环弹出窗口并提示输入用户名/密码。点击取消将在页面上显示HTTP 401错误。
这是在客户端运行的配置:
management.security.enabled = false
security.basic.enabled = true
security.user.name =测试
security.user.password =测试
spring.boot.admin.url = http:// localhost:9081 / admin
spring.boot.admin.username =管理员
spring.boot.admin.password =管理员
这会:
我猜想spring boot admin应用程序不支持与安全客户端的通信,因为我看不到任何配置属性,这些属性允许在注册客户端时传递信息。
有没有人绕过这个限制,如果可以,怎么办?我不想让执行器端点“向公众开放”这么说,即使它们实际上只是暴露在公司内部网络中。
我正在使用使用规范来检索实体的 JPA 查询。当我执行查询时,我收到错误:
org.springframework.data.mapping.PropertyReferenceException:找不到类型任务的属性名称!
我查看了之前在此站点上提出的类似问题的答案,并尝试对我的代码进行建模以遵循推荐的模式,但代码仍然失败。
当我使用调试器单步执行代码时,条件构建器中的扩展路径返回嵌入的 ID 类,但是当在查询中实际使用规范时,看起来该属性正在应用于基本实体类。
我错过了一些明显的东西吗?
这是实体类:
@Entity
@Table(name = "TASKS")
public class Task implements Serializable {
@EmbeddedId
private TaskId id;
...more attributes, getters and setters
}
Run Code Online (Sandbox Code Playgroud)
这是嵌入的 ID 实体类:
@Embeddable
public class TaskId implements Serializable {
@Column(name = "NAME", length = 100)
private String name;
...more attributes, getters and setters
}
Run Code Online (Sandbox Code Playgroud)
这是与嵌入的 id 'name' 属性匹配的规范构建器:
public class HasTaskNameSpec {
private HasTaskNameSpec() {
}
public static Specification<Task> equals(String name) {
return (root, query, criteriaBuilder) -> {
return …Run Code Online (Sandbox Code Playgroud)