39.8.1. Zabezpečení

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
end

Zabezpeč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
Licence Creative Commons
Tento dokument Ruby, jehož autorem je Radek Hnilica, podléhá licenci Creative Commons Uveďte autora-Nevyužívejte dílo komerčně-Zachovejte licenci 3.0 Česká republika .