SORU
26 Mayıs 2011, PERŞEMBE


Diğer hizmetlerden gelen istekleri kimlik doğrulaması için nasıl web hizmeti dinlendirici -?

Kullanıcılar tarafından erişilebilir olması gereken Dinlendirici bir web hizmeti değil, aynı zamanda diğer web Hizmetleri ve uygulamaları tasarlıyorum. Gelen istekleri kimlik doğrulaması gerekir. Tüm iletişim HTTPS üzerinden gerçekleşir. Kullanıcı kimlik doğrulama, iş için bir kimlik doğrulama belirteci, bir kullanıcı adı ve parola Gönderme (SSL bağlantısı üzerinden) tarafından satın dayanır/seanskaynak hizmeti tarafından sağlanan.

Web servis müşteri olması durumunda, varherhangi bir son kullanıcıarkasında müşteri hizmeti.İstekleri zamanlanmış görevler, olaylar ya da başka bir bilgisayar tarafından işlemler başlatılır. Bağlama hizmet listesi önceden (açıkçası, sanırım) bilinir.Nasıl bu istekleri (web) Hizmetler Diğer gelen kimlik doğrulaması gerekiyor?Kimlik doğrulama işlemi mümkün olduğunca kolay güvenlik pahasına bu hizmetler için değil, uygulamak için olmak istiyorum. Böyle bir senaryo için standart ve en iyi uygulamalar ne olurdu?

Seçenekleri bildiğim kadarıyla (ya da bana ifade etmektedir):

  1. Müşteri Hizmetleri "sahte" kullanıcı adı ve parola ve kullanıcı olarak aynı şekilde onları doğrulamak. bir olması için çare var Bu seçeneği sevmiyorum - sadece doğru gelmiyor.

  2. Müşteri hizmeti için kalıcı bir uygulama kimliği, muhtemelen bir uygulama tuşu olarak atamak. Bu anladığım kadarıyla kullanıcı adı şifre olması gibi. Bu kimliği ile ve anahtar, her isteği doğrulamak veya daha fazla kimlik doğrulama istekleri kimlik doğrulaması için bir simge oluşturabilirsiniz. Her iki şekilde de, uygulama hakim kimliği ve anahtar elde edebilecek kimse istemcinin özelliklerini alabilir, çünkü bu seçeneği sevmiyorum.

  3. Bir IP adresi bir önceki seçenek için kontrol ekleyebilirim. Bu zor sahte isteklerini gerçekleştirmek için yapar.

  4. İstemci sertifikası. Benim kendi sertifika otorite kurmak, kök sertifika oluşturun ve istemci hizmetleri için istemci sertifikası oluşturmak. Birkaç sorunlar geliyor aklıma ama:) nasıl hala izin kullanıcılar için kimlik doğrulaması olmadan sertifikaları ve b) ne kadar karmaşık olduğunu, bu senaryoyu uygulamak için istemci hizmeti bir bakış açısı?

  5. Başka bir şey - başka bir çözümü olmalı?

Benim hizmet olurdu çalıştıran Java, ama ben kasıtlı olarak terk bilgiler hakkında ne belirli bir çerçeve olur inşa, çünkü ben daha fazla ilgi üzerinde temel prensipleri ile ilgili Uygulama Detayları - sanırım en iyi çözüm bu olacak mümkün için uygulamak ne olursa olsun, temel çerçeve. Ancak, biraz bu konuda tecrübesizim, gerçek uygulama konusunda çok somut ipuçları ve örnekler (yararlı üçüncü parti kütüphaneler, makaleler, vb.) sıra çok takdir edilecektir.

CEVAP
3 HAZİRAN 2011, Cuma


Sorunuzu okuduktan sonra, yapmak için özel bir kart gerekli isteği oluşturmak söyleyebilirim. Bu simge, belirli bir zaman (hadi bir gün demek) içinde yaşayacak.

Burada kimlik doğrulama belirteci oluşturmak için bir örnek:

(day * 10)   (month * 100)   (year (last 2 digits) * 1000)

örneğin: 3 Haziran 2011

(3 * 10)   (6 * 100)   (11 * 1000) = 
30   600   11000 = 11630

sonra kullanıcı parolası, "my4wesomeP4ssword!" örneği ile Birleştir

11630my4wesomeP4ssword!

O zaman bu dize MD5:

05a9d022d621b64096160683f3afe804

Ne zaman bir istek diyorsun, her zaman belirteci bu

https://mywebservice.com/?token=05a9d022d621b64096160683f3afe804&op=getdata

Bu simge, bu tür bir koruma daha ur hizmet korumak için yeterli olur sanırım bu yüzden her zaman benzersiz bir günlük.

Umarım yardımcı olur

:)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • The Computer Chronicles

    The Computer

    7 Kasım 2012
  • The Verge

    The Verge

    8 AĞUSTOS 2006
  • TheJoeycool2010

    TheJoeycool2

    12 Temmuz 2010