2016-04-06 9 views
1

AngularJS'yi client fw ve django rest framework olarak kullanıyorum. Kimlik doğrulama kısmında yer alıyorum ve POST/PW POST için mümkün olup olmadığını merak ettikten sonra kullanıcıyı arka uçta oturum açıp sonra @login_required kullanarak erişebiliyor muyuz diye merak ettim.Django REST, sunucudan oturum aç

İstemcide $ çerezleri kullanmaktan kaçınmak isterim ve eğer giriş yapmazsam sunucu 404 ile yanıt verir ve sonra açısal kullanıcı giriş sayfasına yönlendirir. Bir kullanıcı oturum açtığında, kullanıcı sunucuya da erişebilir.

Yerel sitedeki django: 8000 adresinde giriş yapmak ve sonra localhost: 82'den erişmek mümkün mü? Ben yazarken

angular.js:11442 GET http://localhost:8000/website/api/order/?format=json 404 (Not Found) 


@api_view(['POST']) 
def login(request): 
    if request.method == 'POST': 
     #print(request.data['password']) 
     username = request.data['username']; 
     password = request.data['password']; 
     user = auth.authenticate(username=username,password=password); 
     if user is not None: 
      if user.is_active: 
       auth.login(request,user); 
       return Response(200) 
     else: 
      return Response(404) 
    else: 
     return Response(404) 

doğrulama çalışmalarını çalışmıyor 82: Ben (şimdi kullanıcı giriş) yönetici-sayfaya giriş yaptıktan saldırması ve daha sonra localhost'tan biraz bilgi erişen için

gerçek kullanıcı adı ve şifreyi 200 olarak cevap olarak alıyorum, eğer bir yönetici hesabına giriş yaparsam müşteriden yönetici hesabına girersem yerel admin/admin yazmam mümkün mü? Şu anda yönetici sayfasına erişmeye çalıştığımda giriş yapmadım.

+0

Cevabım yardım etti mi? Eğer kabul ederseniz, lütfen. – ilse2005

cevap

1

SessionAuthentication'u kullanmak isterseniz aynı ana bilgisayarda olmanız gerekir. Sunucunun, farklı bir ana bilgisayardan sayfaya eriştiğinizde aynı kullanıcı olup olmadığını kontrol etme olasılığı yoktur.

angular.js uygulamanız farklı bir ana bilgisayarda çalışıyorsa, TokenAuthentication veya JSON WTA gibi daha karmaşık yöntemlerle kimlik doğrulaması yapmanız gerekir.