Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
    * JBoss, Home of Professional Open Source
    * Copyright 2007, JBoss Inc., and individual contributors as indicated
    * by the @authors tag. See the copyright.txt in the distribution for a
    * full listing of individual contributors.
    *
    * This is free software; you can redistribute it and/or modify it
    * under the terms of the GNU Lesser General Public License as
    * published by the Free Software Foundation; either version 2.1 of
   * the License, or (at your option) any later version.
   *
   * This software is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
   * License along with this software; if not, write to the Free
   * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
   * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
   */
 package org.jboss.security.plugins.javaee;
 
 import java.util.Map;
 import java.util.Set;
 
 
Web Authorization Helper Implementation

Author(s):
Anil.Saldhana@redhat.com
Version:
$Revision$
Since:
Apr 18, 2008
 
 public class WebAuthorizationHelper 
 {
    protected static Logger log = Logger.getLogger(WebAuthorizationHelper.class);
    
    @Override
    public boolean checkResourcePermission(
          Map<StringObjectcontextMap
          ServletRequest request,
          ServletResponse response
          Subject callerSubject
          String contextID
          String canonicalRequestURI)
    {
       if(contextID == null)
          throw new IllegalArgumentException("ContextID is null"); 
 
       
       boolean isAuthorized = false
 
       WebResource webResource = new WebResource(Collections.unmodifiableMap(contextMap));
       webResource.setPolicyContextID(contextID);
       webResource.setServletRequest(request);
       webResource.setServletResponse(response);
       webResource.setCallerSubject(callerSubject);
       webResource.setCanonicalRequestURI(canonicalRequestURI);
 
       RoleGroup callerRoles = authzMgr.getSubjectRoles(callerSubjectsch);
 
       try
       {
          int permit = authzMgr.authorize(webResourcecallerSubjectcallerRoles);
          isAuthorized = (permit == .);
          String level = (permit == . ? . : .);
          if(this.)
             this.authorizationAudit(level,webResourcenull); 
       }
       catch (AuthorizationException e)
       {
          isAuthorized = false
          if(.isTraceEnabled()) 
             .trace("hasResourcePermission check failed:"+e.getLocalizedMessage(), e); 
          if(this.)
             authorizationAudit(.,webResource,e); 
       }
       return isAuthorized
    }
   public boolean hasRole(
         String roleName
         Principal principal
         String servletName
         Set<PrincipalprincipalRoles,  
         String contextID,
         Subject callerSubject)
   {
      if(contextID == null)
         throw new IllegalArgumentException("ContextID is null");
      
      
      if(callerSubject == null)
         throw new IllegalArgumentException("callerSubject is null");
      boolean hasTheRole = false;
      Map<String,Objectmap =  new HashMap<String,Object>();  
      map.put(.roleName); 
      map.put(.principalRoles);
      
      WebResource webResource = new WebResource(Collections.unmodifiableMap(map));
      webResource.setPolicyContextID(contextID);
      webResource.setPrincipal(principal);
      webResource.setServletName(servletName);
       
      webResource.setCallerSubject(callerSubject);
      RoleGroup callerRoles = authzMgr.getSubjectRoles(callerSubjectsch);
      
      try
      {
         int permit = authzMgr.authorize(webResourcecallerSubjectcallerRoles);
         hasTheRole = (permit == .);
         String level = (hasTheRole ? . : .);
         if(this.)
           this.authorizationAudit(level,webResourcenull);
      }
      catch (AuthorizationException e)
      {
         hasTheRole = false
         if(.isTraceEnabled()) 
            .trace("hasRole check failed:"+e.getLocalizedMessage(), e); 
         if(this.)
            authorizationAudit(.,webResource,e); 
      }
      return hasTheRole
   }
   public boolean hasUserDataPermission(Map<StringObjectcontextMap
         ServletRequest request,
         ServletResponse response,
         String contextID,
         Subject callerSubject)
   {
      if(contextID == null)
         throw new IllegalArgumentException("ContextID is null"); 
      
      
      boolean hasPerm =  false;   
      
      WebResource webResource = new WebResource(Collections.unmodifiableMap(contextMap)); 
      webResource.setPolicyContextID(contextID);
      webResource.setServletRequest(request);
      webResource.setServletResponse(response);
      
      webResource.setCallerSubject(callerSubject);
      RoleGroup callerRoles = authzMgr.getSubjectRoles(callerSubjectsch);
      
      try
      {
         int permit = authzMgr.authorize(webResourcecallerSubjectcallerRoles);
         hasPerm = (permit == .);
         String level = (hasPerm ? . : .);
         if(this.)
            this.authorizationAudit(level,webResourcenull);
      }
      catch (AuthorizationException e)
      {
         hasPerm = false
         if(.isTraceEnabled()) 
            .trace("hasRole check failed:"+e.getLocalizedMessage(), e); 
         if(this.)
            authorizationAudit(.,webResource,e); 
      }
      return hasPerm;
   } 
New to GrepCode? Check out our FAQ X