2015-07-28 22 views
5

Angularjs 1.3'de java REST hizmetleri ve tüketici var. Hizmetler JSON tabanlı ve BASIC kimlik doğrulaması (kullanıcı adı-şifre) bekliyoruz. AgJs 1.3'te, kullanıcı adı ve paroladan temel kimlik doğrulama belirteci oluşturmak ve hizmetlerini BAŞARILI olarak kullanmak için Base64 fabrika kodunu (google'da bulunan) kullandım.Angularjs 2.0'da Temel Kimlik Doğrulama ile REST servisi nasıl çağrılır?

AgJs 2.0 belgelerinde HTTP sınıfı okudum ancak temel kimlik doğrulaması hakkında hiçbir bilgi bulamadım.

Herhangi bir kişi BASIC kimlik doğrulaması kullanarak Angularjs 2.0 REST hizmetlerini tüketmek için örnek kod sağlayabilir mi?

Şimdiden teşekkürler!

Saygılarımızla!

Benim AgJs 1.3 kod:

var url = "http://x.x.x.x:xxxx/data/" + sayı; Yeni Angular2 http api veya fetch gibi dış bir şey kullanıyorsanız

$http.defaults.headers.common['Authorization'] = 'Basic ' + Base64.encode('username' + ':' + 'password'); 
$http.defaults.headers.common['Content-Type'] = 'application/json'; 

$http({ method: 'GET', url: url }). 
     success(function (data, status, headers, config) { 
      alert(data); 
     }). 
     error(function (data, status, headers, config) { 
      alert("error: " + data); 
     }); 
+0

Bu [sayı] ile aynı kullanıcı iseniz (https://github.com/angular/angular/issues/3266), ancak başkalarına yardımcı olabiliyor mu bilmiyorum? –

+0

Benzer bir soruyu [bu yanıtı] (http://stackoverflow.com/a/34465070/995671) inceleyin. –

cevap

0

bağlı.

sadece bölge ile tamamlamayı unutmayın, böyle bir şey yapabileceğini ikincisi ise:

myHeaders = { 
     'Accept': 'application/json', 
     'Content-Type': 'application/json', 
     'Authorization': 'Basic ' + Base64.encode('username' + ':' + 'password') 
    } 
return Zone.bindPromiseFn(fetch)(
      url, 
      { 
       method: 'GET', 
       headers: myHeaders, 
       body: JSON.stringify(myData) 
      }).then(
       r => {return r.json()} 
     ); 
1

Sadece auth Temel olan bir sunucuya angular2 bir yayını yapmak ve bu işler:

sendAuthentification(credentials: string): Observable<any> { 
      var headers = new Headers(); 
      headers.append('Authorization', 'Basic ' + btoa('user:pass')); 

      return this.http.get("http://ip/yourpost", headers}); 
    } 

Bu sorunun cevabını umarım.