Distribuované objekty můžeme chránit před neoprávněným přístupem nastavením ACL
if __FILE__ == $0
acl = ACL.new(%w(deny all
allow 192.168.1.*
allow 209.61.159.*
allow localhost))
DRb.install_acl(acl) # must be called before service starting
DRb.start_service(nil, SongNameServer.new("/tmp/songname")
puts DRb.uri
DRb.thread.join
endZabezpečení před vykonáním nežádoucího kódu.
$SAFE = 1
Přístupová práva (ACL)
require 'drb'
require 'drb/acl'
$SAFE = 1
class HelloWorldServer
def say_hello
"Hello, world!"
end
end
acl = ACL.new(%w{deny all allow 192.168.1.12 allow 192.168.1.7})
DRb.install_acl(acl)
DRb.start_service("druby://192.168.1.12:61676", HelloWorldServer.new)
DRb.thread.join