<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>mizzy.org: Net::LDAP::Alternative</title>
    <link>http://blog.mizzy.org/articles/2007/01/01/net-ldap-alternative</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description></description>
    <item>
      <title>Net::LDAP::Alternative</title>
      <description>&lt;p&gt;
&lt;a class="ext-link" href="http://search.cpan.org/~gbarr/perl-ldap/lib/Net/LDAP.pod"&gt;&lt;span class="icon"&gt;&lt;/span&gt;perl-ldap (Net::LDAP)&lt;/a&gt; &#12398;&#12452;&#12531;&#12479;&#12540;&#12501;&#12455;&#12540;&#12473;&#12364;&#12431;&#12363;&#12426;&#12395;&#12367;&#12367;&#12390;&#12289;&#12383;&#12414;&#12395;&#12371;&#12356;&#12388;&#12391;&#12503;&#12525;&#12464;&#12521;&#12512;&#12434;&#26360;&#12371;&#12358;&#12392;&#12377;&#12427;&#12392;&#12289;&#12356;&#12388;&#12418;&#12393;&#24536;&#12428;&#12375;&#12390; perldoc &#12392;&#30568;&#12417;&#12387;&#12371;&#12377;&#12427;&#12399;&#12417;&#12395;&#12394;&#12427;&#12398;&#12391;&#12289;&#36949;&#12358;&#12452;&#12531;&#12479;&#12540;&#12501;&#12455;&#12540;&#12473;&#12391; LDAP &#12450;&#12463;&#12475;&#12473;&#12391;&#12365;&#12427;&#12521;&#12483;&#12497;&#12514;&#12472;&#12517;&#12540;&#12523;&#12434;&#26360;&#12356;&#12390;&#12414;&#12377;&#12290;&#12392;&#12426;&#12354;&#12360;&#12378;&#12503;&#12525;&#12488;&#12479;&#12452;&#12503;&#29256;&#12398; &lt;a class="ext-link" href="http://trac.mizzy.org/public/browser/library/perl/trunk/Net-LDAP-Alternative"&gt;&lt;span class="icon"&gt;&lt;/span&gt;Net::LDAP::Alternative&lt;/a&gt; &#12434;&#32622;&#12356;&#12390;&#12362;&#12365;&#12414;&#12377;&#12290;&#12414;&#12384;&#26410;&#23436;&#25104;&#12391; pod &#12377;&#12425;&#12385;&#12419;&#12435;&#12392;&#26360;&#12356;&#12390;&#12394;&#12356;&#12391;&#12377;&#12364;&#12290;
&lt;/p&gt;
&lt;p&gt;
&#12452;&#12531;&#12479;&#12540;&#12501;&#12455;&#12540;&#12473;&#12364;&#12393;&#12435;&#12394;&#39080;&#12395;&#36949;&#12358;&#12363;&#12434;&#20363;&#12391;&#31034;&#12375;&#12390;&#12415;&#12414;&#12377;&#12290;&#12300;&#29305;&#23450;&#12398;&#26908;&#32034;&#26465;&#20214;&#12395;&#12510;&#12483;&#12481;&#12377;&#12427;&#12456;&#12531;&#12488;&#12522;&#12398;&#38651;&#35441;&#30058;&#21495;&#12434;&#26360;&#12365;&#25563;&#12360;&#12427;&#12301;&#12392;&#12356;&#12358;&#25805;&#20316;&#12434;&#12289;Net::LDAP &#12391;&#26360;&#12367;&#12392;&#12371;&#12435;&#12394;&#24863;&#12376;&#12395;&#12394;&#12426;&#12414;&#12377;&#12290;
&lt;/p&gt;
&lt;pre class="wiki"&gt;
my $ldap = Net::LDAP-&gt;new(
    'kenny',
    port =&gt; 389,
);

$ldap-&gt;bind(
    'cn=Directory Manager',
    password =&gt; 'password',
);

my $msg = $ldap-&gt;search(
    base   =&gt; 'o=southpark',
    filter =&gt; '(&amp;(uid=miya)(cn=gosuke*))',
);

for my $entry ( $msg-&gt;entries ) {
    print $entry-&gt;get_value('telephonenumber');
    $ldap-&gt;modify(
        $entry-&gt;dn,
        replace =&gt; { telephonenumber =&gt; '00-0000-0000' }
    );
}
&lt;/pre&gt;
&lt;p&gt;
&#12371;&#12428;&#12434; Net::LDAP::Alternative &#12391;&#26360;&#12367;&#12392;&#12371;&#12358;&#12394;&#12426;&#12414;&#12377;&#12290;
&lt;/p&gt;
&lt;pre class="wiki"&gt;
my $ldap = Net::LDAP::Alternative-&gt;new({
    host    =&gt; 'kenny',
    port    =&gt; '389',
    bind_dn =&gt; 'cn=Directory Manager',
    bind_pw =&gt; 'password',
    base    =&gt; 'o=southpark',
});

my $entries = $ldap-&gt;search({
    uid =&gt; 'miya',
    cn  =&gt; 'gosuke*',
});

while ( my $entry = $entries-&gt;next ) {
    print $entry-&gt;telephonenumber;
    $entry-&gt;telephonenumber('00-0000-0000');
    $entry-&gt;update;
}
&lt;/pre&gt;
&lt;p&gt;
Net::LDAP &#12392;&#29305;&#12395;&#30064;&#12394;&#12427;&#28857;&#12399;&#12289;
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;bind &#12399;&#26126;&#31034;&#30340;&#12395;&#12375;&#12394;&#12356;&#12290;&#65288;&#12467;&#12531;&#12473;&#12488;&#12521;&#12463;&#12479;&#12391; bind &#12375;&#12390;&#12427;&#12290;&#65289;&lt;/li&gt;
&lt;li&gt;search &#12434;&#31777;&#30053;&#21270;&#12290;LDAP &#29305;&#26377;&#12398;&#12501;&#12451;&#12523;&#12479;&#35352;&#27861;&#12391;&#26360;&#12363;&#12394;&#12367;&#12390;&#33391;&#12356;&#12290;&lt;/li&gt;
&lt;li&gt;&#26908;&#32034;&#12375;&#12390;&#24471;&#12425;&#12428;&#12427;&#12456;&#12531;&#12488;&#12522;&#12434;&#12452;&#12486;&#12524;&#12540;&#12479;&#12395;&#12375;&#12390;&#12415;&#12383;&#12290;&lt;/li&gt;
&lt;li&gt;&#12456;&#12531;&#12488;&#12522;&#12398;&#23646;&#24615;&#21462;&#24471;&#12398;&#12450;&#12463;&#12475;&#12469;&#12513;&#12477;&#12483;&#12489;&#12434;&#23455;&#35013;&#12290;&#65288;get_value &#12434;&#12388;&#12363;&#12431;&#12394;&#12367;&#12390;&#12424;&#12356;&#12290;&#65289;&lt;/li&gt;
&lt;li&gt;&#12456;&#12531;&#12488;&#12522;&#12398;&#23646;&#24615;&#22793;&#26356;&#12418;&#12450;&#12463;&#12475;&#12469;&#12513;&#12477;&#12483;&#12489;&#32076;&#30001;&#12391;&#12391;&#12365;&#12427;&#12398;&#12391;&#30452;&#24863;&#30340;&#12395;&#12431;&#12363;&#12426;&#12420;&#12377;&#12356;&#12290;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;
&#12387;&#12390;&#12392;&#12371;&#12391;&#12377;&#12397;&#12290;
&lt;/p&gt;
&lt;p&gt;
&#12414;&#12383;&#12289;1&#20214;&#12375;&#12363;&#26908;&#32034;&#32080;&#26524;&#12364;&#36820;&#12425;&#12394;&#12356;&#12371;&#12392;&#12364;&#12431;&#12363;&#12387;&#12390;&#12356;&#12427;&#22580;&#21512;&#12399;&#12289;Net::LDAP &#12391;&#12354;&#12428;&#12400;
&lt;/p&gt;
&lt;pre class="wiki"&gt;
my $msg = $ldap-&gt;search(
    base   =&gt; 'o=southpark',
    filter =&gt; '(&amp;(uid=miya)(cn=gosuke*))',
);

my $entry = ($msg-&gt;entries)[0];
&lt;/pre&gt;
&lt;p&gt;
&#12392;&#12356;&#12387;&#12383;&#24863;&#12376;&#12391;&#12456;&#12531;&#12488;&#12522;&#12434;&#21462;&#24471;&#12377;&#12427;&#12431;&#12369;&#12391;&#12377;&#12364;&#12289;Net::LDAP::Alternative &#12391;&#12399;
&lt;/p&gt;
&lt;pre class="wiki"&gt;
my $entry = $ldap-&gt;search({
    uid =&gt; 'miya',
    cn  =&gt; 'gosuke*',
})-&gt;first;
&lt;/pre&gt;
&lt;p&gt;
&#12392;&#12356;&#12387;&#12383;&#24863;&#12376;&#12391;&#12456;&#12531;&#12488;&#12522;&#21462;&#24471;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;
&lt;/p&gt;
&lt;p&gt;
&#12371;&#12435;&#12394;&#24863;&#12376;&#12391;&#12289;DBIx::Class &#12398;&#12452;&#12531;&#12479;&#12540;&#12501;&#12455;&#12540;&#12473;&#12434;&#21442;&#32771;&#12395;&#12375;&#12390;&#12289;&#30452;&#24863;&#30340;&#12395;&#12431;&#12363;&#12426;&#12420;&#12377;&#12356;&#12424;&#12358;&#12395;&#12375;&#12390;&#12414;&#12377;&#12290;
&lt;/p&gt;
&lt;p&gt;
&#12392;&#12426;&#12354;&#12360;&#12378;&#12394;&#12435;&#12392;&#12394;&#12367;&#12388;&#12367;&#12387;&#12390;&#12415;&#12383;&#12384;&#12369;&#12394;&#12398;&#12391;&#12289;&#12371;&#12428;&#12434;&#30330;&#23637;&#12373;&#12379;&#12427;&#12363;&#12393;&#12358;&#12363;&#12399;&#12414;&#12384;&#26410;&#23450;&#12290;
&lt;/p&gt;

</description>
      <pubDate>Mon, 01 Jan 2007 04:10:24 +0900</pubDate>
      <guid isPermaLink="false">urn:uuid:79BF8354-FB43-11DB-B19E-9689BF6E4193</guid>
      <author>Gosuke Miyashita</author>
      <link>http://blog.mizzy.org/articles/2007/01/01/net-ldap-alternative</link>
      <category>program</category>
      <trackback:ping>http://blog.mizzy.org/articles/trackback/372</trackback:ping>
    </item>
  </channel>
</rss>
