Jetty SPNEGO ပြင်ဆင်မှုတွင် အမည်သုံးခုရှိသည်- စစ်ဆေးမှုကို ကိုက်ညီစေရန် အသုံးပြုသော URI၊ JAAS မှတစ်ဆင့် ဝင်ရောက်သော အသုံးပြုသူနှင့် လက်မှတ်တောင်းခံသော ဝန်ဆောင်မှု။ ၎င်းတို့တွင် မတူညီသော ရည်ရွယ်ချက်များရှိသည်။

Jetty 12.0.x အကောင်အထည်ဖော်မှုအတွက် စစ်ဆေးမှုအရာဝတ္ထု၏ အပိုင်းတစ်ခုမှာ-

var auth = new org.eclipse.jetty.client.SPNEGOAuthentication(
    java.net.URI.create("http://proxy.example:8080"));
auth.setServiceName("HTTP");

ဤအပိုင်းသည် ဝန်ဆောင်မှုအစိတ်အပိုင်းကို ပြသသည်၊ ပြည့်စုံသော proxy စစ်ဆေးမှု နည်းလမ်းမဟုတ်ပါ။ JAAS ဝင်ရောက်မှု၊ proxy လမ်းကြောင်းသတ်မှတ်မှုနှင့် တောင်းဆိုချက်၏ စစ်ဆေးမှုဖလှယ်မှုတို့သည် သီးခြားဖြစ်နေဆဲဖြစ်သည်။

ဤအကောင်အထည်ဖော်မှုတွင် Jetty သည် getServiceName()၊ @ အက္ခရာနှင့် စစ်ဆေးမှုဖလှယ်မှုအတွက် host ကို ပေါင်းစပ်ကာ GSS host အခြေခံအမည်ကို တည်ဆောက်သည်။ [email protected] ကို ဝန်ဆောင်မှုအစိတ်အပိုင်းအဖြစ် ပေးပါက နောက်ထပ် host တစ်ခု ထပ်တိုးမည်။ ဤ setter သည် ပြည့်စုံသော Kerberos principal ကို လက်ခံသည်ဟု မယူဆဘဲ ၎င်း၏ စာချုပ်ကို ဖတ်ပါ။

ရလဒ် GSS အမည်သည် HTTP@hostname ဟူသော အယူအဆပုံစံရှိသည်။ KDC ၏ သက်ဆိုင်ရာ ဝန်ဆောင်မှု principal ကို များသောအားဖြင့် HTTP/hostname အဖြစ် ဖော်ပြသည်။ ရွေးချယ်ထားသော proxy အမည်သည် အမှန်တကယ် မှတ်ပုံတင်ထားသော ဝန်ဆောင်မှုနှင့် ကိုက်ညီရမည် သည် ထိုအကောင့်အတွက်ဖြစ်သည်။ IP လိပ်စာ သို့မဟုတ် နာမည်တူသည် အခြားလက်မှတ်ပစ်မှတ်ကို ရွေးချယ်နိုင်သည်။

407 လမ်းကြောင်းကိုလည်း စစ်ဆေးပါ

Jetty 12.0.x တွင် authenticate() သည် GSS host အမည်ကို request.getHost() မှ ရယူပြီး မူလ Authorization ခေါင်းစီးဖြင့် ရလဒ်ကို တည်ဆောက်သည်။ proxy URI အလိုက် စစ်ဆေးမှုအရာဝတ္ထုကို ကိုက်ညီစေခြင်းသည် ထိုရွေးချယ်မှုများကို proxy ၏ host အမည်နှင့် Proxy-Authorization သို့ အလိုအလျောက် မပြောင်းလဲပါ။

ထို့ကြောင့် proxy ပေါင်းစပ်မှုသည် ထိုဖလှယ်မှုအတွက် မှန်ကန်သော တောင်းဆိုချက် host နှင့် proxy အတိုင်းအတာအတွင်း ရလဒ် လိုအပ်သည်။ HTTPS CONNECT တောင်းဆိုချက်နှင့် သာမန် မူလတောင်းဆိုချက်တို့တွင် host တန်ဖိုးများ ကွဲပြားနိုင်သည်။ ဝန်ဆောင်မှုအမည် setter သည် ပြည့်စုံသော 407 လုပ်ငန်းစဉ်ကို ပေးသည်ဟု မယူဆဘဲ တပ်ဆင်ထားသော အကောင်အထည်ဖော်မှု၏ အပြုအမူကို အတည်ပြုပါ။

407 အတွက် ထိုတောင်းဆိုချက် အသုံးပြုသော proxy စစ်ဆေးမှုဖလှယ်မှုနှင့် host ကို စစ်ဆေးပါ။ 401 သည် မူလစစ်ဆေးမှုနှင့် သက်ဆိုင်သည်။ တရားဝင် အသုံးပြုသူလက်မှတ် တစ်ခုတည်းဖြင့် Jetty သည် မှန်ကန်သော ဝန်ဆောင်မှုလက်မှတ်ကို တောင်းခံခဲ့သည် သို့မဟုတ် ကြားခံက လက်ခံခဲ့သည်ဟု သက်သေမပြနိုင်ပါ။

ဆက်စပ်ဆောင်းပါးများ