Spring security Spring安全-CouchDB
我想写使用Spring安全性的授权。用户数据将保存在couchDB中。我有问题,使它有可能访问的方法Spring security Spring安全-CouchDB,spring-security,Spring Security,我想写使用Spring安全性的授权。用户数据将保存在couchDB中。我有问题,使它有可能访问的方法 @PreAuthorize("hasAuthority('ROLE_ADMIN')") @Transactional public void deleteDriver(Driver driver) { dataService.deleteDrivers(driver); }.. 此批注@PreAuthorize未工作。我写道: <global-me
@PreAuthorize("hasAuthority('ROLE_ADMIN')")
@Transactional
public void deleteDriver(Driver driver) {
dataService.deleteDrivers(driver);
}..
此批注@PreAuthorize
未工作。我写道:
<global-method-security secured-annotations="enabled" pre-post-annotations="enabled" jsr250-annotations="enabled">
在application-context-security.xml中我打赌您已经解决了您的问题,但也许这可以帮助其他人 1-应用程序的配置 您需要添加自己的用户详细信息服务的实现
public class AppConfig extends WebMvcAutoConfiguration {
...
@Bean
public UserSecurityService userSecurityService() {
return new UserSecurityService();
}
...
}
2-用户实体
public class CustomUserDetail extends org.springframework.security.core.userdetails.User {
public CustomUserDetail(String username, String password, Collection<? extends GrantedAuthority> authorities) {
super(username, password, authorities);
}
}
@Component
public class UserRepository extends CouchDbRepositorySupport<User> {
...
@View( name = "findUserByUsername", map = "function(doc) { if (doc.docType == 'User' ) emit( doc.username, doc._id ) }")
public User findUserByUsername(String username) {
return queryViewReturnSingleEntity("findUserByUsername",username);
}
...
}
现在,您可以添加以下内容:
@PreAuthorize("hasRole('ROLE_SUPER_USER')")
验证用户角色的访问权限。我打赌您已经解决了问题,但这可能会帮助其他人 1-应用程序的配置 您需要添加自己的用户详细信息服务的实现
public class AppConfig extends WebMvcAutoConfiguration {
...
@Bean
public UserSecurityService userSecurityService() {
return new UserSecurityService();
}
...
}
2-用户实体
public class CustomUserDetail extends org.springframework.security.core.userdetails.User {
public CustomUserDetail(String username, String password, Collection<? extends GrantedAuthority> authorities) {
super(username, password, authorities);
}
}
@Component
public class UserRepository extends CouchDbRepositorySupport<User> {
...
@View( name = "findUserByUsername", map = "function(doc) { if (doc.docType == 'User' ) emit( doc.username, doc._id ) }")
public User findUserByUsername(String username) {
return queryViewReturnSingleEntity("findUserByUsername",username);
}
...
}
现在,您可以添加以下内容:
@PreAuthorize("hasRole('ROLE_SUPER_USER')")
验证用户角色的访问权限。请重新措辞好吗?我发现很难看到有人问什么。有什么好的教程可以将Spring Security Core实现到CouchDB吗?@code4jhon如果您仍然需要它,我会回答这个问题,它可能会有帮助:)请您重新措辞好吗?我发现很难看到有人问什么问题。有什么好的教程可以将Spring Security Core实现到CouchDB吗?@code4jhon如果您仍然需要它,我会回答这个问题,它可能会有帮助:)