01: // ========================================================================
02: // $Id: RoleCheckPolicy.java 1001 2006-09-23 09:31:51Z janb $
03: // Copyright 2003-2004 Mort Bay Consulting Pty. Ltd.
04: // ------------------------------------------------------------------------
05: // Licensed under the Apache License, Version 2.0 (the "License");
06: // you may not use this file except in compliance with the License.
07: // You may obtain a copy of the License at
08: // http://www.apache.org/licenses/LICENSE-2.0
09: // Unless required by applicable law or agreed to in writing, software
10: // distributed under the License is distributed on an "AS IS" BASIS,
11: // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12: // See the License for the specific language governing permissions and
13: // limitations under the License.
14: // ========================================================================
15:
16: package org.mortbay.jetty.plus.jaas;
17:
18: import java.security.Principal;
19: import java.security.acl.Group;
20:
21: public interface RoleCheckPolicy {
22: /* ------------------------------------------------ */
23: /** Check if a role is either a runAsRole or in a set of roles
24: * @param roleName the role to check
25: * @param runAsRole a pushed role (can be null)
26: * @param roles a Group whose Principals are role names
27: * @return <code>true</code> if <code>role</code> equals <code>runAsRole</code> or is a member of <code>roles</code>.
28: */
29: public boolean checkRole(String roleName, Principal runAsRole,
30: Group roles);
31:
32: }
|