
com.daedafusion.security.admin.impl.DomainAdminImpl Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of security-framework Show documentation
Show all versions of security-framework Show documentation
A pluggable security framework "inspired" by the OWASP ESAPI framework
package com.daedafusion.security.admin.impl;
import com.daedafusion.sf.AbstractService;
import com.daedafusion.security.admin.DomainAdmin;
import com.daedafusion.security.admin.providers.DomainAdminProvider;
import com.daedafusion.security.authentication.Subject;
import com.daedafusion.security.authorization.Authorization;
import com.daedafusion.security.common.Context;
import com.daedafusion.security.common.Domain;
import com.daedafusion.security.common.impl.DefaultContext;
import com.daedafusion.security.exceptions.NotFoundException;
import com.daedafusion.security.exceptions.UnauthorizedException;
import org.apache.log4j.Logger;
import java.util.ArrayList;
import java.util.List;
/**
* Created by mphilpot on 7/21/14.
*/
public class DomainAdminImpl extends AbstractService implements DomainAdmin
{
private static final Logger log = Logger.getLogger(DomainAdminImpl.class);
@Override
public void createDomain(Subject subject, Domain domain) throws UnauthorizedException
{
Authorization auth = getServiceRegistry().getService(Authorization.class);
Context context = new DefaultContext();
context.addContext("domain", domain.getDomainName());
if(auth.isAuthorized(subject, java.net.URI.create("domain"), "POST", context))
{
for(DomainAdminProvider dap : getProviders())
{
dap.createDomain(domain);
}
}
else
{
throw new UnauthorizedException();
}
}
@Override
public void updateDomain(Subject subject, Domain domain) throws UnauthorizedException, NotFoundException
{
Authorization auth = getServiceRegistry().getService(Authorization.class);
Context context = new DefaultContext();
context.addContext("domain", domain.getDomainName());
if(auth.isAuthorized(subject, java.net.URI.create("domain"), "PUT", context))
{
for(DomainAdminProvider dap : getProviders())
{
dap.updateDomain(domain);
}
}
else
{
throw new UnauthorizedException();
}
}
@Override
public void removeDomain(Subject subject, String domain) throws UnauthorizedException, NotFoundException
{
Authorization auth = getServiceRegistry().getService(Authorization.class);
Context context = new DefaultContext();
context.addContext("domain", domain);
if(auth.isAuthorized(subject, java.net.URI.create("domain"), "DELETE", context))
{
for(DomainAdminProvider dap : getProviders())
{
dap.removeDomain(domain);
}
}
else
{
throw new UnauthorizedException();
}
}
@Override
public List listDomains(Subject subject) throws UnauthorizedException
{
Authorization auth = getServiceRegistry().getService(Authorization.class);
Context context = new DefaultContext();
if(auth.isAuthorized(subject, java.net.URI.create("domain"), "GET", context))
{
List result = new ArrayList<>();
for(DomainAdminProvider dap : getProviders())
{
result.addAll(dap.listDomains());
}
return result;
}
else
{
throw new UnauthorizedException();
}
}
@Override
public Class getProviderInterface()
{
return DomainAdminProvider.class;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy