From 4e5063039fd2207799e76b9afd97614c1091303b Mon Sep 17 00:00:00 2001 From: rautenberg Date: Thu, 25 Apr 2013 10:43:30 +0200 Subject: add basic AA --- lib/authorization.rb | 6 +----- lib/dataset.rb | 1 + lib/opentox.rb | 5 ++++- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/authorization.rb b/lib/authorization.rb index 361e259..5a846c9 100644 --- a/lib/authorization.rb +++ b/lib/authorization.rb @@ -283,11 +283,7 @@ module OpenTox # @return [Boolean] true if policy checked/created successfully (or no uri/subjectid given), false else def self.check_policy(uri, subjectid) return true unless uri and subjectid - token_valid = OpenTox::Authorization.is_token_valid(subjectid) - $logger.debug "OpenTox::Authorization.check_policy with uri: #{uri}, subjectid: #{subjectid} is valid: #{token_valid}" - # check if subjectid is valid - unless token_valid - # abort if invalid + unless OpenTox::Authorization.is_token_valid(subjectid) $logger.error "OpenTox::Authorization.check_policy, subjectid NOT valid: #{subjectid}" return false end diff --git a/lib/dataset.rb b/lib/dataset.rb index 402d2a1..22c606c 100644 --- a/lib/dataset.rb +++ b/lib/dataset.rb @@ -123,6 +123,7 @@ module OpenTox # Adding data (@features and @compounds are also writable) def upload filename, wait=true + Authorization.check_policy(@uri, @subjectid) if $aa[:uri] uri = RestClientWrapper.put(@uri, {:file => File.new(filename)}, {:subjectid => @subjectid}) wait_for_task uri if URI.task?(uri) and wait metadata true diff --git a/lib/opentox.rb b/lib/opentox.rb index 309a47d..80df507 100644 --- a/lib/opentox.rb +++ b/lib/opentox.rb @@ -100,6 +100,7 @@ module OpenTox when 'application/rdf+xml' body = self.to_rdfxml end + Authorization.check_policy(@uri, @subjectid) if $aa[:uri] uri = RestClientWrapper.post @uri.to_s, body, { :content_type => mime_type, :subjectid => @subjectid} wait ? wait_for_task(uri) : uri end @@ -113,6 +114,7 @@ module OpenTox when 'application/rdf+xml' body = self.to_rdfxml end + Authorization.check_policy(@uri, @subjectid) if $aa[:uri] uri = RestClientWrapper.put @uri.to_s, body, { :content_type => mime_type, :subjectid => @subjectid} wait ? wait_for_task(uri) : uri end @@ -120,6 +122,7 @@ module OpenTox # Delete object at webservice def delete RestClientWrapper.delete(@uri.to_s,nil,{:subjectid => @subjectid}) + Authorization.delete_policies_from_uri(@uri, @subjectid) if $aa[:uri] end def service_uri @@ -191,7 +194,7 @@ module OpenTox include OpenTox def self.all subjectid=nil - uris = RestClientWrapper.get(service_uri, {}, :accept => 'text/uri-list').split("\n").compact + uris = RestClientWrapper.get(service_uri, {}, :accept => 'text/uri-list', :subjectid => subjectid).split("\n").compact uris.collect{|uri| self.new(uri, subjectid)} end -- cgit v1.2.3