package org.dcache.pinmanager;
import javax.security.auth.Subject;
import org.dcache.auth.Subjects;
import org.dcache.pinmanager.model.Pin;
public class DefaultAuthorizationPolicy implements AuthorizationPolicy
{
private boolean isAuthorized(Subject subject, Pin pin)
{
return (Subjects.isRoot(subject) ||
Subjects.hasUid(subject, pin.getUid()) ||
Subjects.hasGid(subject, pin.getGid()));
}
@Override
public boolean canUnpin(Subject subject, Pin pin)
{
return isAuthorized(subject, pin);
}
@Override
public boolean canExtend(Subject subject, Pin pin)
{
return isAuthorized(subject, pin);
}
}