Ruby 2.1.0 リファレンスマニュアル > ライブラリ一覧 > drb/aclライブラリ > ACLクラス

class ACL

クラス・モジュールの継承リスト: ACL < Object < Kernel < BasicObject

要約

drb で用いる ACL(Access Control List)クラス。

Access control list は "allow" と "deny" の2つからなります。 "all" や "*" という文字列は任意のアドレスにマッチします。 IPAddr が取り扱える任意のアドレス/アドレスマスクを使うことができます。

ACLのエントリーは、以下の例に示すように、

"allow_or_deny", "addr1",
"allow_or_deny", "addr2",
   :

という文字列配列で表現されます。

@see DRb.#install_acl, DRb.#start_service, DRb::DRbServer.default_acl, DRb::DRbServer.new

ACL を単独で用いる例。

require "drb/acl"

list = %w[
  deny all
  allow 192.168.1.1
  allow ::ffff:192.168.1.2
  allow 192.168.1.3
]

# From Socket#peeraddr, see also ACL#allow_socket?
addr = ["AF_INET", 10, "lc630", "192.168.1.3"]

acl = ACL.new
p acl.allow_addr?(addr) # => true

acl = ACL.new(list, ACL::DENY_ALLOW)
p acl.allow_addr?(addr) # => true

特異メソッド

定義 説明
new(list=nil, order = DENY_ALLOW) -> ACL

新たな ACL オブジェクトを返します。

インスタンスメソッド

定義 説明
allow_addr?(addr) -> bool

addr が ACL で許可されているならば真を返します。

allow_socket?(soc) -> bool

ソケットに関連付けられたアドレスが ACL で許可されているならば真を返します。

install_list(list) -> ()

ACL に list で指定したエントリーを追加します。

定数

定義 説明
ALLOW_DENY -> Integer

デフォルトですべてのアドレスを許可することを意味します。 @see ACL.new

DENY_ALLOW -> Integer

デフォルトですべてのアドレスを拒否することを意味します。

VERSION -> [String]

ACL のバージョン。

継承したメソッド

! != __id__ __send__ instance_eval instance_exec method_missing singleton_method_added singleton_method_removed singleton_method_undefined !~ <=> == === =~ _dump class clone define_singleton_method display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? itself marshal_dump marshal_load method methods must_be must_be_close_to must_be_empty must_be_instance_of must_be_kind_of must_be_nil must_be_same_as must_be_within_epsilon must_equal must_include must_match must_raise must_respond_to must_send must_throw nil? object_id pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods psych_to_yaml public_method public_methods public_send remove_instance_variable respond_to? respond_to_missing? send singleton_class singleton_method singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str trust untaint untrust untrusted? .yaml_tag ::ARGF ::ARGV ::DATA ::ENV ::FALSE ::NIL ::RUBY_COPYRIGHT ::RUBY_DESCRIPTION ::RUBY_ENGINE ::RUBY_PATCHLEVEL ::RUBY_PLATFORM ::RUBY_RELEASE_DATE ::RUBY_REVISION ::RUBY_VERSION ::SCRIPT_LINES__ ::STDERR ::STDIN ::STDOUT ::TOPLEVEL_BINDING ::TRUE