Jetty 12.0.x SPNEGO: ସେବାର ନାମ ସେଟ୍ କରନ୍ତୁ, ସମ୍ପୂର୍ଣ୍ଣ principal ନୁହେଁ
Jetty 12 ପ୍ରମାଣୀକରଣ ବିନ୍ୟାସ କରିବାବେଳେ proxy URI, JAAS ଉପଭୋକ୍ତା ଏବଂ GSS ସେବା ଉପାଦାନକୁ ଅଲଗା ରଖନ୍ତୁ।
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(), @ ଅକ୍ଷର ଏବଂ ପ୍ରମାଣୀକରଣ ବିନିମୟର ହୋଷ୍ଟକୁ ମିଶାଇ GSS ହୋଷ୍ଟ-ଆଧାରିତ ନାମ ତିଆରି କରେ। [email protected] କୁ ସେବା ଉପାଦାନ ଭାବରେ ଦେଲେ ଆଉ ଏକ ହୋଷ୍ଟ ଯୋଡାଯିବ। ଏହି setter ସମ୍ପୂର୍ଣ୍ଣ Kerberos principal ଗ୍ରହଣ କରେ ବୋଲି ଧରିବା ପରିବର୍ତ୍ତେ ଏହାର ଚୁକ୍ତି ପଢ଼ନ୍ତୁ।
ଫଳାଫଳ GSS ନାମର ଧାରଣାଗତ ରୂପ HTTP@hostname। KDCର ସମ୍ପୃକ୍ତ ସେବା principal ସାଧାରଣତଃ HTTP/hostname ଭାବରେ ଦର୍ଶାଯାଏ। ମନୋନୀତ proxy ନାମ ପ୍ରକୃତରେ ପଞ୍ଜୀକୃତ ସେବା ସହିତ ମେଳ ଖାଇବା ଉଚିତ ସେହି ଖାତା ପାଇଁ; IP ଠିକଣା କିମ୍ବା ଉପନାମ ଅନ୍ୟ ଟିକେଟ୍ ଲକ୍ଷ୍ୟ ବାଛିପାରେ।
407 ପଥକୁ ମଧ୍ୟ ଯାଞ୍ଚ କରନ୍ତୁ
Jetty 12.0.x ରେ authenticate() request.getHost() ରୁ GSS ହୋଷ୍ଟନାମ ନେଇ ଡିଫଲ୍ଟ Authorization ହେଡର ସହିତ ଫଳାଫଳ ତିଆରି କରେ। proxy URI ଦ୍ୱାରା ପ୍ରମାଣୀକରଣ ବସ୍ତୁ ମେଳାଇବା ନିଜେ ସେହି ପସନ୍ଦଗୁଡ଼ିକୁ proxyର ହୋଷ୍ଟନାମ ଏବଂ Proxy-Authorization କୁ ବଦଳାଏ ନାହିଁ।
ତେଣୁ proxy ସମନ୍ୱୟ ପାଇଁ ସେହି ବିନିମୟର ସଠିକ୍ ଅନୁରୋଧ ହୋଷ୍ଟ ଏବଂ proxy-ସୀମିତ ଫଳାଫଳ ଆବଶ୍ୟକ। HTTPS CONNECT ଅନୁରୋଧ ଏବଂ ସାଧାରଣ ମୂଳ ଅନୁରୋଧର ହୋଷ୍ଟ ମୂଲ୍ୟ ଅଲଗା ହୋଇପାରେ। ସେବା-ନାମ setter ସମ୍ପୂର୍ଣ୍ଣ 407 ପ୍ରବାହ ଦିଏ ବୋଲି ଧରିବା ପରିବର୍ତ୍ତେ ସ୍ଥାପିତ କାର୍ଯ୍ୟକାରୀକରଣର ଆଚରଣ ଯାଞ୍ଚ କରନ୍ତୁ।
407 ପାଇଁ, ସେହି ଅନୁରୋଧ ବ୍ୟବହାର କରିଥିବା proxy ପ୍ରମାଣୀକରଣ ବିନିମୟ ଏବଂ ହୋଷ୍ଟ ଯାଞ୍ଚ କରନ୍ତୁ। 401 ମୂଳ ପ୍ରମାଣୀକରଣର। କେବଳ ଏକ ବୈଧ ଉପଭୋକ୍ତା ଟିକେଟ୍ ପ୍ରମାଣ କରେ ନାହିଁ ଯେ Jetty ସଠିକ୍ ସେବା ଟିକେଟ୍ ମାଗିଥିଲା କିମ୍ବା ମଧ୍ୟସ୍ଥ ତାହା ଗ୍ରହଣ କରିଥିଲା।