javacommons/security/javasrc/com/nokia/mj/impl/security/midp/authorization/AccessControllerImpl.java
branchRCL_3
changeset 21 4376525cdefb
parent 14 04becd199f91
equal deleted inserted replaced
19:71c436fe3ce0 21:4376525cdefb
    19 
    19 
    20 import java.security.Permission;
    20 import java.security.Permission;
    21 import java.util.Vector;
    21 import java.util.Vector;
    22 import java.security.AccessControlException;
    22 import java.security.AccessControlException;
    23 import com.nokia.mj.impl.utils.Uid;
    23 import com.nokia.mj.impl.utils.Uid;
       
    24 import com.nokia.mj.impl.security.midp.common.PolicyBasedPermission;
    24 import com.nokia.mj.impl.security.midp.common.PolicyBasedPermissionImpl;
    25 import com.nokia.mj.impl.security.midp.common.PolicyBasedPermissionImpl;
    25 import com.nokia.mj.impl.security.midp.common.UserPermission;
    26 import com.nokia.mj.impl.security.midp.common.UserPermission;
    26 import com.nokia.mj.impl.security.midp.common.UserSecuritySettings;
    27 import com.nokia.mj.impl.security.midp.common.UserSecuritySettings;
    27 import com.nokia.mj.impl.security.midp.common.PermissionMappingTable;
    28 import com.nokia.mj.impl.security.midp.common.PermissionMappingTable;
    28 import com.nokia.mj.impl.security.midp.common.MIDPPermission;
    29 import com.nokia.mj.impl.security.midp.common.MIDPPermission;
   254      * Handles the user settings by delegating the prompt handler to handle
   255      * Handles the user settings by delegating the prompt handler to handle
   255      * the settings and stores the result as the new settings
   256      * the settings and stores the result as the new settings
   256      */
   257      */
   257     private void handleUserPermission(
   258     private void handleUserPermission(
   258         Permission checkedPermission,
   259         Permission checkedPermission,
   259         UserPermission resolvedPermission,
   260         PolicyBasedPermissionImpl resolvedPermission,
   260         SecurityStorage storage)
   261         SecurityStorage storage)
   261     {
   262     {
   262         UserSecuritySettings settings = resolvedPermission
   263         UserSecuritySettings settings = resolvedPermission
   263                                         .getUserSecuritySettings();
   264                                         .getUserSecuritySettings();
   264 
   265 
   297             // add the AccessControlException as embedded exception
   298             // add the AccessControlException as embedded exception
   298             throw new UserCancelException(
   299             throw new UserCancelException(
   299                 e.getMessage(),
   300                 e.getMessage(),
   300                 new java.security.AccessControlException(
   301                 new java.security.AccessControlException(
   301                     "Permission " + checkedPermission + " not allowed"));
   302                     "Permission " + checkedPermission + " not allowed"));
       
   303         }
       
   304         
       
   305         // if the permission was assigned or the settings were not active, 
       
   306         // then activate the user settings
       
   307         if (resolvedPermission.getType() != PolicyBasedPermission.USER_TYPE 
       
   308             || !settings.isActive())
       
   309         {
       
   310             storage.activateUserSecuritySettings(iAppUID, resolvedPermission);
   302         }
   311         }
   303 
   312 
   304         // if settings have not changed, still do one check on the current
   313         // if settings have not changed, still do one check on the current
   305         // interaction mode: if it's blanket, mark down that the prompt in
   314         // interaction mode: if it's blanket, mark down that the prompt in
   306         // blanket mode was shown and then simply return
   315         // blanket mode was shown and then simply return