X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=security%2Fimpl%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fsecurity%2Fauthorization%2FAuthorizationService.java;h=bfbe0f8443ac3706fb68f6a341dbb9a0e7b8a799;hb=e8b988e92306a4aea2f047af1b48588147288831;hp=6bb5db27308af2e655ba06ed272fd40a4d0de1d7;hpb=5ea8f0e2af53562c1507e8fb5a3ede2af5c5de6c;p=utils diff --git a/security/impl/src/main/java/org/wamblee/security/authorization/AuthorizationService.java b/security/impl/src/main/java/org/wamblee/security/authorization/AuthorizationService.java index 6bb5db27..bfbe0f84 100644 --- a/security/impl/src/main/java/org/wamblee/security/authorization/AuthorizationService.java +++ b/security/impl/src/main/java/org/wamblee/security/authorization/AuthorizationService.java @@ -12,17 +12,19 @@ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */ + */ package org.wamblee.security.authorization; -import org.wamblee.persistence.Persistent; +import org.wamblee.security.authentication.UserAccessor; +import org.wamblee.security.authentication.UserAdministration; /** * Service to determine if access to a certain resource is allowed. * * @author Erik Brakkee */ -public interface AuthorizationService extends Persistent { +public interface AuthorizationService { + /** * Checks whether an operation is allowed on a resource. * @@ -35,6 +37,19 @@ public interface AuthorizationService extends Persistent { */ boolean isAllowed(Object aResource, Operation aOperation); + /** + * Checks if the given operation is allowed on the resource. + * + * @param + * Type of resource + * @param aResource + * Resource. + * @param aOperation + * Operation. + * @return Resource passed in in case access is allowed + * @throws AuthorizationException + * In case access is denied. + */ T check(T aResource, Operation aOperation); /** @@ -69,4 +84,22 @@ public interface AuthorizationService extends Persistent { * Rule to insert. */ void insertRuleAfter(int aIndex, AuthorizationRule aRule); -} + + /** + * Sets the user accessor so that the authorization service can get access + * to the logged in user. + * + * @param aUserAccessor + * User accessor. + */ + void setUserAccessor(UserAccessor aUserAccessor); + + /** + * Sets the user administration so that the authorization service can check + * information for the the current user. + * + * @param aUserAdmin User administration. + */ + void setUserAdministration(UserAdministration aUserAdmin); + +} \ No newline at end of file