|
16 | 16 | import hudson.model.ItemGroup;
|
17 | 17 | import hudson.security.ACL;
|
18 | 18 | import java.util.ArrayList;
|
19 |
| -import java.util.Collections; |
20 | 19 | import java.util.List;
|
21 | 20 | import jenkins.model.Jenkins;
|
22 |
| -import org.acegisecurity.Authentication; |
| 21 | +import org.springframework.security.core.Authentication; |
23 | 22 |
|
24 | 23 | /**
|
25 | 24 | * This class provides the credentials that we need to authenticate against Vault
|
|
32 | 31 | public class VaultCredentialsProvider extends CredentialsProvider {
|
33 | 32 |
|
34 | 33 | @Override
|
35 |
| - public <C extends Credentials> List<C> getCredentials(Class<C> type, ItemGroup itemGroup, Authentication authentication) { |
36 |
| - return getCredentials(type, itemGroup, authentication, Collections.emptyList()); |
37 |
| - } |
38 |
| - |
39 | 34 | @NonNull
|
40 |
| - @Override |
41 |
| - public <C extends Credentials> List<C> getCredentials(@NonNull Class<C> type, |
42 |
| - @Nullable ItemGroup itemGroup, |
43 |
| - @Nullable Authentication authentication, |
44 |
| - @NonNull List<DomainRequirement> domainRequirements) { |
| 35 | + public <C extends Credentials> List<C> getCredentialsInItemGroup(@NonNull Class<C> type, |
| 36 | + @Nullable ItemGroup itemGroup, |
| 37 | + @Nullable Authentication authentication, |
| 38 | + @NonNull List<DomainRequirement> domainRequirements) { |
45 | 39 | CredentialsMatcher matcher = (type != VaultCredential.class ?
|
46 |
| - CredentialsMatchers.instanceOf(AbstractVaultBaseStandardCredentials.class) : |
47 |
| - CredentialsMatchers.always()); |
48 |
| - List<C> creds = new ArrayList<C>(); |
49 |
| - if (ACL.SYSTEM.equals(authentication)) { |
50 |
| - for (ItemGroup g = itemGroup; g instanceof AbstractFolder; g = (AbstractFolder.class.cast(g)).getParent()) { |
| 40 | + CredentialsMatchers.instanceOf(AbstractVaultBaseStandardCredentials.class) : |
| 41 | + CredentialsMatchers.always()); |
| 42 | + List<C> creds = new ArrayList<>(); |
| 43 | + if (ACL.SYSTEM2.equals(authentication)) { |
| 44 | + for (ItemGroup<?> g = itemGroup; g instanceof AbstractFolder; g = ((AbstractFolder<?>) g).getParent()) { |
51 | 45 | FolderCredentialsProperty property = ((AbstractFolder<?>) g).getProperties()
|
52 |
| - .get(FolderCredentialsProperty.class); |
| 46 | + .get(FolderCredentialsProperty.class); |
53 | 47 | if (property == null) {
|
54 | 48 | continue;
|
55 | 49 | }
|
56 | 50 |
|
57 | 51 | List<C> folderCreds = DomainCredentials.getCredentials(
|
58 |
| - property.getDomainCredentialsMap(), |
59 |
| - type, |
60 |
| - domainRequirements, |
61 |
| - matcher |
62 |
| - ); |
| 52 | + property.getDomainCredentialsMap(), |
| 53 | + type, |
| 54 | + domainRequirements, |
| 55 | + matcher |
| 56 | + ); |
63 | 57 |
|
64 | 58 | if (type != VaultCredential.class) {
|
65 | 59 | for (C c : folderCreds) {
|
66 |
| - ((AbstractVaultBaseStandardCredentials)c).setContext(g); |
| 60 | + ((AbstractVaultBaseStandardCredentials) c).setContext(g); |
67 | 61 | }
|
68 | 62 | }
|
69 | 63 |
|
70 | 64 | creds.addAll(folderCreds);
|
71 | 65 | }
|
72 | 66 |
|
73 | 67 | List<C> globalCreds = DomainCredentials.getCredentials(
|
74 |
| - SystemCredentialsProvider.getInstance().getDomainCredentialsMap(), |
75 |
| - type, |
76 |
| - domainRequirements, |
77 |
| - matcher |
78 |
| - ); |
| 68 | + SystemCredentialsProvider.getInstance().getDomainCredentialsMap(), |
| 69 | + type, |
| 70 | + domainRequirements, |
| 71 | + matcher |
| 72 | + ); |
79 | 73 | if (type != VaultCredential.class) {
|
80 | 74 | for (C c : globalCreds) {
|
81 |
| - ((AbstractVaultBaseStandardCredentials)c).setContext(Jenkins.get()); |
| 75 | + ((AbstractVaultBaseStandardCredentials) c).setContext(Jenkins.get()); |
82 | 76 | }
|
83 | 77 | }
|
84 | 78 | creds.addAll(globalCreds);
|
85 | 79 | }
|
86 |
| - |
87 | 80 | return creds;
|
88 | 81 | }
|
89 | 82 | }
|
0 commit comments