0 က်ဘ်အပလီကေးရှင်းများကိုတီထွင်သောအခါအသုံးပြုသူအချက်အလက်နှင့် authentication ၏လုံခြုံရေးကိုသေချာစေရန်အလွန်အရေးကြီးသည်။ အထောက်အထား authentication ယန္တရားသည်အသုံးပြုသူ၏မည်သူမည်ဝါဖြစ်ကြောင်းထိထိရောက်ရောက်အတည်ပြုနိုင်ရန်နှင့်စနစ်၏လုံခြုံမှုကိုသေချာစေနိုင်သည်။ PHP applications များကိုလုံခြုံရေးစစ်ဆေးရန်အတွက် Open OpenAn သည် open source အထောက်အထားစီမံခန့်ခွဲမှုနှင့်ဆက်သွယ်မှုထိန်းချုပ်မှုဖြေရှင်းချက်ဖြစ်သည်။
ဤဆောင်းပါးသည် PHP application များ၏လုံခြုံမှုရှိရှိ authentication ကိုအကောင်အထည်ဖော်ရန် OpenAM ကိုမည်သို့အသုံးပြုရမည်ကိုပြသမည်ဖြစ်ပြီး developer များလျင်မြန်စွာစတင်ရန်ကူညီရန်သက်ဆိုင်ရာကုဒ်နမူနာများပါ 0 င်မည်ဖြစ်သည်။
သင်မစခင် OpenAM ကို download လုပ်ပြီး Install လုပ်ရန်လိုအပ်သည်။ installation လုပ်ငန်းစဉ်အတွင်းသင် 0 က်ဘ်ဆိုက် URL နှင့် OpenAn ကိုဖွင့်ပြီး OpenAnt ကိုမှန်ကန်စွာ configure လုပ်ပြီးသက်ဆိုင်ရာလုံခြုံရေးချိန်ညှိချက်များနေရာ၌သေချာစေရန်လုံခြုံပြီးစိတ်ချရသောဆာဗာပတ်ဝန်းကျင်တွင်ထည့်သွင်းရန်လိုအပ်သည်။
နောက်ပြီးကျွန်ုပ်တို့၏ PHP application ၏ root directory တွင် login.php ဖိုင်ကိုဖွင့်ပြီး OpyAn မှပေးသော api မှပေးသော api မှပေးသော API မှပေးသော Api ကိုအသုံးပြုပါမည်။
<?php
// အဓိပါ်ပယ် OpenAM ဆာဗာ၏ URL
$openam_url = "http://localhost:8080/openam";
// အသုံးပြုသူမှထည့်သွင်းထားသောအသုံးပြုသူအမည်နှင့်စကားဝှက်ကိုလက်ခံရရှိသည်
$username = $_POST['username'];
$password = $_POST['password'];
// အသုံးပြုသူ login တောင်းဆိုမှုကိုတည်ဆောက်ပါ URL
$login_url = $openam_url . "/json/authenticate";
// အသုံးပြုသူအတည်ပြုချက်ကိုတည်ဆောက်ရန် URL
$validate_url = $openam_url . "/json/users/" . $username . "/isTokenValid";
// အသုံးပြုသူဝင်ခွင့်တောင်းခံမှုကိုတည်ဆောက်ပါ URL
$logout_url = $openam_url . "/json/sessions/?_action=logout";
// အသုံးပြုသူအစည်းအဝေးများတည်ဆောက်ရန်တောင်းဆိုမှုများ URL
$session_url = $openam_url . "/json/sessions";
// အသုံးပြုသူ login
$login_data = array(
'username' => $username,
'password' => $password,
'realm' => '/'
);
$login_response = json_decode(callOpenAMApi($login_url, $login_data));
// 验证အသုံးပြုသူ login是否成功
if ($login_response->tokenId) {
// အသုံးပြုသူ login成功
// အသုံးပြုသူ session ကိုသတင်းအချက်အလက်ရယူပါ
$session_response = json_decode(callOpenAMApi($session_url, null, $login_response->tokenId));
// အသုံးပြုသူ session ကိုတရားဝင်ကြောင်းအတည်ပြုပါ
$validate_response = json_decode(callOpenAMApi($validate_url, null, $login_response->tokenId));
if ($validate_response->boolean) {
// အသုံးပြုသူအတည်ပြုချက်လွန်
// အခြားစစ်ဆင်ရေးလုပ်ဆောင်,ဥပမာအားဖြင့်အသုံးပြုသူအချက်အလက်များကိုစသဖြင့်ရယူပါ။
// အသုံးပြုသူ logout
callOpenAMApi($logout_url, null, $login_response->tokenId);
echo "Logout Successful";
} else {
// အသုံးပြုသူအတည်ပြုချက်မအောင်မြင်ပါ
echo "Invalid Session";
}
} else {
// အသုံးပြုသူ login失败
echo "Login Failed";
}
// တောင်းဆိုမှုကိုပေးပို့ပြီးတုံ့ပြန်မှုရလဒ်ကိုပြန်ပို့ပါ
function callOpenAMApi($url, $data = null, $token = null) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('iPlanetDirectoryPro: ' . $token));
if ($data) {
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
}
$response = curl_exec($ch);
curl_close($ch);
return $response;
}
?>
Login.php စာမျက်နှာသို့သွားပြီး Username နှင့် Password ကိုရိုက်ထည့်ပါ, login ခလုတ်ကိုနှိပ်ပါ။ အကယ်. authentication အောင်မြင်မှုအောင်မြင်ပါကစာမျက်နှာသည် "logout အောင်မြင်သော" ကိုပြလိမ့်မည်။ အကယ်. မအောင်မြင်ပါကစာမျက်နှာသည် "login မအောင်မြင်ပါ" ဟူသောအချက်ကိုသတိပေးလိမ့်မည်။
ဤဆောင်းပါးမှတစ်ဆင့်သင်၏ PHP applications များ၌လုံခြုံမှုရှိကြောင်းသက်သေစွမ်းရည်များထည့်သွင်းရန် Olam ကိုမည်သို့အသုံးပြုရမည်ကိုသင်လေ့လာသိရှိခဲ့ရသည်။ Openam ရဲ့အနားယူရာအပိုဆောင်းနဲ့သုံးစွဲသူဒေတာလုံခြုံရေးကိုထိထိရောက်ရောက်ကာကွယ်နိုင်ရုံသာမကအသုံးပြုသူလက်လှမ်းမီမှုအတွေ့အကြုံကိုပိုကောင်းအောင်လုပ်နိုင်ပါတယ်။ သင်၏ဖွံ့ဖြိုးတိုးတက်မှုဆိုင်ရာကြိုးပမ်းမှုများအတွက်ဤလမ်းညွှန်သည်အထောက်အကူဖြစ်လိမ့်မည်ဟုမျှော်လင့်ပါသည်။