Tag: 弹簧安全

使用LDAPvalidationSpring oauth / token请求上的客户端ID和客户端密钥

我正在调查客户端ID和客户端密码如何通过LDAP进行身份validation。 注意:这个Kotlin代码… @Configuration @EnableAuthorizationServer class OAuth2AuthorizationServerConfig() : AuthorizationServerConfigurerAdapter() { 我对Spring比较陌生,看来这不是我应该尝试的吗? 但是,这似乎是一个有用的选择。 为什么? 因为它允许我将客户端秘密管理委托给LDAP目录,并且有效地允许我的操作团队改变秘密(以某种管理的方式)。 有了这个我的应用程序不需要知道这个秘密。 这似乎很整齐? oauth的终点是基本认证 – 这似乎是Spring给我的@EnableAuthorizationServer注释。 请求http://somehost/oauth/token指定grant_type : client_credentials 。 我创建的代码来获取任意的令牌(沙箱)…我想只是指定适用于该客户端的客户端和范围,而不是指定秘密… @Throws(Exception::class) override fun configure( clients: ClientDetailsServiceConfigurer ) { // Inlining will create a store per credential entry val serviceBuilder = clients.inMemory() serviceBuilder.withClient(“user”).secret(“test”).scopes(“XXX”) } 我尝试了很多不同的想法,以便在LDAP Authentication Provider向管理的提供者集合中添加一个LDAP Authentication Provider ProviderManager ,从而失败了。 如果我在运行时调试到authenticate方法,我总是只有AnonymousAuthenticationProvider和DaoAuthenticationProvider 下面可能显示我的经验不足,但这里有一个例子,请阅读可能的疯狂 […]

如何创建一个数据类实现Spring Secuirty特定的UserDetails

我正在尝试将一些spring-webflux示例代码迁移到kotlin。 目前我想将我的Spring Data Mongo示例转换为kotlin。 有一个User ,原Data Mongo版本看起来: @Data @ToString @Builder @NoArgsConstructor @AllArgsConstructor @Document class User implements UserDetails { @Id private String id; private String username; private String password; @Builder.Default() private boolean active = true; @Builder.Default() private List roles = new ArrayList(); @Override public Collection getAuthorities() { return AuthorityUtils.createAuthorityList(roles.toArray(new String[roles.size()])); } @Override public boolean isAccountNonExpired() { […]

解决Kotlin中的意外覆盖错误

我最近开始与Kotlin合并,并使用Kotlin开始了一个Spring Boot宠物项目。 我正在尝试将一个自定义的用户域对象集成到Spring Security中,因此需要实现UserDetails接口。 鉴于我的域用户对象如下: import org.springframework.data.annotation.Id as DocumentId import org.springframework.data.mongodb.core.mapping.Document import org.springframework.security.core.GrantedAuthority import org.springframework.security.core.authority.AuthorityUtils import org.springframework.security.core.userdetails.UserDetails @Document data class User(@DocumentId val id: String? = null, val username: String = “”, val password: String = “”, val email: String = “”, val name: String? = null, val surname: String? = null) : UserDetails { override […]