提交 ad510a42 编写于 作者: K Kohsuke Kawaguchi

should take SIDs from projects into account

上级 b390d9f0
......@@ -24,7 +24,9 @@
package hudson.security;
import hudson.model.Descriptor;
import hudson.model.Hudson;
import hudson.model.Job;
import hudson.model.TopLevelItem;
import hudson.util.RobustReflectionConverter;
import hudson.Extension;
import com.thoughtworks.xstream.io.HierarchicalStreamReader;
......@@ -32,6 +34,9 @@ import com.thoughtworks.xstream.converters.UnmarshallingContext;
import com.thoughtworks.xstream.mapper.Mapper;
import com.thoughtworks.xstream.core.JVM;
import java.util.HashSet;
import java.util.Set;
/**
* {@link GlobalMatrixAuthorizationStrategy} plus per-project ACL.
*
......@@ -51,6 +56,18 @@ public class ProjectMatrixAuthorizationStrategy extends GlobalMatrixAuthorizatio
}
}
@Override
public Set<String> getGroups() {
Set<String> r = new HashSet<String>();
r.addAll(super.getGroups());
for (Job<?,?> j : Hudson.getInstance().getItems(Job.class)) {
AuthorizationMatrixProperty amp = j.getProperty(AuthorizationMatrixProperty.class);
if (amp != null)
r.addAll(amp.getGroups());
}
return r;
}
@Extension
public static final Descriptor<AuthorizationStrategy> DESCRIPTOR = new DescriptorImpl() {
@Override
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册