private DataRolePolicyDecider createPolicyDecider( QueryMetadataInterface metadata, VDBMetaData vdb, DataPolicyMetadata... roles) { vdb.addAttchment(QueryMetadataInterface.class, metadata); HashMap<String, DataPolicy> policies = new HashMap<String, DataPolicy>(); for (DataPolicyMetadata dataPolicyMetadata : roles) { policies.put(dataPolicyMetadata.getName(), dataPolicyMetadata); } vdb.setDataPolicies(new ArrayList<DataPolicy>(policies.values())); this.context.getDQPWorkContext().setPolicies(policies); this.context.getSession().setVdb(vdb); this.context.setMetadata(metadata); DataRolePolicyDecider dataRolePolicyDecider = new DataRolePolicyDecider(); dataRolePolicyDecider.setAllowFunctionCallsByDefault(false); return dataRolePolicyDecider; }
private static CommandContext createContext() { CommandContext context = createCommandContext(); DQPWorkContext workContext = new DQPWorkContext(); HashMap<String, DataPolicy> policies = new HashMap<String, DataPolicy>(); DataPolicyMetadata policy = new DataPolicyMetadata(); PermissionMetaData pmd = new PermissionMetaData(); pmd.setResourceName("pm1.sp1.e1"); pmd.setMask("case when e2 > 1 then null else e1 end"); PermissionMetaData pmd1 = new PermissionMetaData(); pmd1.setResourceName("pm1.g1.e2"); pmd1.setMask("case when e1 = 'a' then null else e2 end"); policy.addPermission(pmd, pmd1); policy.setName("some-role"); policies.put("some-role", policy); workContext.setPolicies(policies); context.setDQPWorkContext(workContext); return context; }
private DQPWorkContext createWorkContext(final CommandContext context, VDBMetaData vdb) { SessionMetadata session = createTemporarySession(context.getUserName(), "asynch-mat-view-load", vdb); //$NON-NLS-1$ session.setSubject(context.getSubject()); session.setSecurityDomain(context.getSession().getSecurityDomain()); session.setSecurityContext(context.getSession().getSecurityContext()); DQPWorkContext workContext = new DQPWorkContext(); workContext.setAdmin(true); DQPWorkContext current = context.getDQPWorkContext(); workContext.setSession(session); workContext.setPolicies(current.getAllowedDataPolicies()); workContext.setSecurityHelper(current.getSecurityHelper()); return workContext; }
private DQPWorkContext createWorkContext(final CommandContext context, VDBMetaData vdb) { SessionMetadata session = createTemporarySession(context.getUserName(), "asynch-mat-view-load", vdb); //$NON-NLS-1$ session.setSubject(context.getSubject()); session.setSecurityDomain(context.getSession().getSecurityDomain()); session.setSecurityContext(context.getSession().getSecurityContext()); DQPWorkContext workContext = new DQPWorkContext(); workContext.setAdmin(true); DQPWorkContext current = context.getDQPWorkContext(); workContext.setSession(session); workContext.setPolicies(current.getAllowedDataPolicies()); workContext.setSecurityHelper(current.getSecurityHelper()); return workContext; }
private DQPWorkContext createWorkContext(final CommandContext context, VDBMetaData vdb) { SessionMetadata session = createTemporarySession(context.getUserName(), "asynch-mat-view-load", vdb); //$NON-NLS-1$ session.setSubject(context.getSubject()); session.setSecurityDomain(context.getSession().getSecurityDomain()); session.setSecurityContext(context.getSession().getSecurityContext()); DQPWorkContext workContext = new DQPWorkContext(); workContext.setAdmin(true); DQPWorkContext current = context.getDQPWorkContext(); workContext.setSession(session); workContext.setPolicies(current.getAllowedDataPolicies()); workContext.setSecurityHelper(current.getSecurityHelper()); return workContext; }
policies.put("some-role", policy); workContext.setPolicies(policies); context.setDQPWorkContext(workContext);
policies.put("some-role", policy); workContext.setPolicies(policies); context.setDQPWorkContext(workContext); return context;
HashMap<String, DataPolicy> policies = new HashMap<String, DataPolicy>(); policies.put("foo", new DataPolicyMetadata()); context.setPolicies(policies);