亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 3779 | 回復(fù): 5
打印 上一主題 下一主題

Net::LDAP 可以驗證用戶的密碼嗎? [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2012-04-24 10:34 |只看該作者 |倒序瀏覽
本帖最后由 sellie 于 2012-04-24 10:48 編輯

我在使用LWP寫一個自動化表單提交的perl程序.
這個程序會要求用戶使用時輸入自己的用戶名和密碼, 我把此作為Agent的credentials來訪問目標(biāo)網(wǎng)站.
現(xiàn)在想改進程序, 希望實現(xiàn)使用LWP post前先驗證用戶輸入的用戶名密碼是否是正確的, 不正確的話要求重輸.
我們是LDAP環(huán)境. 我對LDAP只用普通用戶權(quán)限.

補充一下: 目前的方法是post一次看response, 如果是報authentication error的問題就知道用戶名密碼有問題了.這個方法可以work,但就是覺得不爽.

論壇徽章:
0
2 [報告]
發(fā)表于 2012-04-27 13:05 |只看該作者
沉的深了,自己頂一頂.

論壇徽章:
0
3 [報告]
發(fā)表于 2012-05-03 11:28 |只看該作者
再頂頂. 抱歉擾民--最后一次.

論壇徽章:
1
2015年辭舊歲徽章
日期:2015-03-03 16:54:15
4 [報告]
發(fā)表于 2012-05-04 09:42 |只看該作者
sellie 發(fā)表于 2012-04-24 10:34
我在使用LWP寫一個自動化表單提交的perl程序.
這個程序會要求用戶使用時輸入自己的用戶名和密碼, 我把此作 ...

第一次看到Perl版提到LDAP,發(fā)帖紀(jì)念一下。

不知道我是不是正確理解你的意思了。你是想先做一次LDAP的身份認(rèn)證,認(rèn)證通過再提交信息?
如果是這樣,那通過檢查Net::LDAP的bind返回值就可以實現(xiàn)。你難道一眼都沒看Net::LDAP的文檔?http://search.cpan.org/~marschap/perl-ldap-0.44/lib/Net/LDAP.pod

btw. 也可以考慮用AnyEvent::HTTP代替LWP,這樣你用AnyEvent::HTTP的on_header方法也可以快速進行判斷

論壇徽章:
78
雙子座
日期:2013-10-15 08:50:09天秤座
日期:2013-10-16 18:02:08白羊座
日期:2013-10-18 13:35:33天蝎座
日期:2013-10-18 13:37:06獅子座
日期:2013-10-18 13:40:31雙子座
日期:2013-10-22 13:58:42戌狗
日期:2013-10-22 18:50:04CU十二周年紀(jì)念徽章
日期:2013-10-24 15:41:34巨蟹座
日期:2013-10-24 17:14:56處女座
日期:2013-10-24 17:15:30雙子座
日期:2013-10-25 13:49:39午馬
日期:2013-10-28 15:02:15
5 [報告]
發(fā)表于 2012-05-04 10:18 |只看該作者
這個跟ldap沒多大關(guān)系吧,用文件或者數(shù)據(jù)庫都行,用ldap也只是讀取一個密碼

論壇徽章:
0
6 [報告]
發(fā)表于 2012-05-04 15:57 |只看該作者
謝謝提示. 已經(jīng)實現(xiàn)了. CPAN是看過, 但沒怎么看懂. 光注意到anonymous bind了.
又google了一堆跟bind相關(guān)的東西.

sub authenticate_user {
    my $user_name = shift;
    my $pass_word = shift;
    my $ldap_host   = shift;
    my $base          = shift;

    my $ldap = Net::LDAP->new( $ldap_host );
    my $search = $ldap->search(      # Search for the user
        base   => $base,
        scope  => 'sub',
        filter => "(&(uid=$user_name))",
        attrs  => ['dn']
    );

    my $user_dn = $search->entry->dn;
    #print $user_dn, "\n";

    my $response = $ldap->bind( $user_dn, password => $pass_word );
    #print "Response is $response \n";
    #If bind sucessfully, that means the password is correct.
    if ( $response->error eq 'Success' ) {
        return 'Success';
    }
    else {
        return 'Fail';
    }

}


回復(fù) 4# py


   
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP