<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE acl PUBLIC "-//GemStone Systems, Inc.//GemFire XML Authorization 1.0//EN"
              "authz5_5.dtd" >

<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at
  
       http://www.apache.org/licenses/LICENSE-2.0
  
  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  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.
-->

<acl>

  <role name="reader">
    <user>gemfire1</user>
    <user>gemfire2</user>
    <user>gemfire3</user>
    <user>gemfire4</user>
    <user>gemfire5</user>
  </role>

  <role name="writer">
    <user>gemfire1</user>
    <user>gemfire2</user>
    <user>gemfire6</user>
    <user>gemfire7</user>
    <user>gemfire8</user>
  </role>

  <role name="cacheOps">
    <user>gemfire1</user>
    <user>gemfire2</user>
  </role>

  <role name="queryRegions">
    <user>gemfire9</user>
    <user>gemfire10</user>
  </role>

  <permission role="cacheOps">
    <operation>QUERY</operation>
    <operation>EXECUTE_CQ</operation>
    <operation>STOP_CQ</operation>
    <operation>CLOSE_CQ</operation>
    <operation>REGION_CREATE</operation>
    <operation>REGION_DESTROY</operation>
  </permission>

  <permission role="reader">
    <operation>GET</operation>
    <operation>REGISTER_INTEREST</operation>
    <operation>UNREGISTER_INTEREST</operation>
    <operation>KEY_SET</operation>
    <operation>CONTAINS_KEY</operation>
    <operation>EXECUTE_CQ</operation>
    <operation>STOP_CQ</operation>
    <operation>CLOSE_CQ</operation>
  </permission>

  <permission role="writer">
    <operation>PUT</operation>
    <operation>PUTALL</operation>
	<operation>REMOVEALL</operation>
    <operation>DESTROY</operation>
    <operation>REGION_CLEAR</operation>
    <operation>EXECUTE_FUNCTION</operation>
	<operation>INVALIDATE</operation>
  </permission>

  <permission role="queryRegions" regions="/Portfolios,Positions/">
    <operation>QUERY</operation>
    <operation>EXECUTE_CQ</operation>
    <operation>STOP_CQ</operation>
    <operation>CLOSE_CQ</operation>
  </permission>

</acl>
