1 // ======================================================================== 2 // $Id: RoleCheckPolicy.java 1001 2006-09-23 09:31:51Z janb $ 3 // Copyright 2003-2004 Mort Bay Consulting Pty. Ltd. 4 // ------------------------------------------------------------------------ 5 // Licensed under the Apache License, Version 2.0 (the "License"); 6 // you may not use this file except in compliance with the License. 7 // You may obtain a copy of the License at 8 // http://www.apache.org/licenses/LICENSE-2.0 9 // 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 22 public interface RoleCheckPolicy 23 { 24 /* ------------------------------------------------ */ 25 /** Check if a role is either a runAsRole or in a set of roles 26 * @param roleName the role to check 27 * @param runAsRole a pushed role (can be null) 28 * @param roles a Group whose Principals are role names 29 * @return <code>true</code> if <code>role</code> equals <code>runAsRole</code> or is a member of <code>roles</code>. 30 */ 31 public boolean checkRole (String roleName, Principal runAsRole, Group roles); 32 33 }