/*
* Copyright 2000-2013 Enonic AS
* http://www.enonic.com/license
*/
package com.enonic.cms.core.security.userstore;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.enonic.cms.core.security.user.UserEntity;
@Component
public class UserStoreAccessResolver
{
private MemberOfResolver memberOfResolver;
public boolean hasReadUserAccess( UserEntity user, UserStoreEntity userstore )
{
return memberOfResolver.hasUserStoreAdministratorPowers( user, userstore.getKey() );
}
public boolean hasDeleteUserAccess( UserEntity user, UserStoreEntity userstore )
{
return memberOfResolver.hasUserStoreAdministratorPowers( user, userstore.getKey() );
}
public boolean hasCreateUserAccess( UserEntity user, UserStoreEntity userstore )
{
return memberOfResolver.hasUserStoreAdministratorPowers( user, userstore.getKey() );
}
public boolean hasUpdateUserAccess( UserEntity updater, UserStoreEntity userstore, boolean allowedToUpdateSelf,
UserEntity userToUpdate )
{
if ( allowedToUpdateSelf && updater.equals( userToUpdate ) )
{
return true;
}
return memberOfResolver.hasUserStoreAdministratorPowers( updater, userstore.getKey() );
}
public boolean hasCreateUserStoreAccess( UserEntity user )
{
return memberOfResolver.hasEnterpriseAdminPowers( user );
}
public boolean hasUpdateUserStoreAccess( UserEntity user )
{
return memberOfResolver.hasEnterpriseAdminPowers( user );
}
public boolean hasDeleteUserStoreAccess( UserEntity user )
{
return memberOfResolver.hasEnterpriseAdminPowers( user );
}
@Autowired
public void setMemberOfResolver( MemberOfResolver memberOfResolver )
{
this.memberOfResolver = memberOfResolver;
}
}