caa941f0c7e5e632e27efc23a253533dd72148a5vboxsync/**
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsync * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsync *
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsync * Copyright (c) 2009 Sun Microsystems Inc. All Rights Reserved
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsync *
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsync * The contents of this file are subject to the terms
e64031e20c39650a7bc902a3e1aba613b9415deevboxsync * of the Common Development and Distribution License
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsync * (the License). You may not use this file except in
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsync * compliance with the License.
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsync *
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsync * You can obtain a copy of the License at
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsync * https://opensso.dev.java.net/public/CDDLv1.0.html or
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsync * opensso/legal/CDDLv1.0.txt
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsync * See the License for the specific language governing
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsync * permission and limitations under the License.
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsync *
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsync * When distributing Covered Code, include this CDDL
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsync * Header Notice in each file and include the License file
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsync * at opensso/legal/CDDLv1.0.txt.
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsync * If applicable, add the following below the CDDL Header,
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsync * with the fields enclosed by brackets [] replaced by
43747b1f0bc8302a238fb35e55857a5e9aa1933dvboxsync * your own identifying information:
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsync * "Portions Copyrighted [year] [name of copyright owner]"
43747b1f0bc8302a238fb35e55857a5e9aa1933dvboxsync *
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsync * $Id: IAuthorization.java,v 1.1 2009/11/12 18:37:35 veiming Exp $
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync */
43747b1f0bc8302a238fb35e55857a5e9aa1933dvboxsync
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsyncpackage com.sun.identity.rest.spi;
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsync
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsyncimport com.sun.identity.rest.RestException;
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsyncimport javax.security.auth.Subject;
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsyncimport javax.servlet.Filter;
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsyncimport javax.servlet.http.HttpServletRequest;
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsync
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsync/**
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsync * Implements this interface to do REST permission check.
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsync */
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsyncpublic interface IAuthorization extends Filter {
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsync /**
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsync * Returns the accept authentication method
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsync *
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsync * @return the accept authentication method
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsync */
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsync String[] accept();
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsync
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsync /**
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsync * Returns subject.
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsync *
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsync * @param req Http Servlet Request
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsync * @return subject.
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsync * @throws RestException if subject cannot be created.
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsync */
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsync Subject getAuthZSubject(HttpServletRequest req)
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsync throws RestException;
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsync}
caa941f0c7e5e632e27efc23a253533dd72148a5vboxsync