SORU
26 Mart 2012, PAZARTESİ


Çapraz platform doğrulaması ASP.NET Web API kullanarak

Nasıl bile-çapraz platform masaüstü Desteği, Mobil ve web yani kimlik doğrulama ASP.NET Web API kullanarak kodlama başlayayım? Dinlendirici bir kimlik, başlık simgeleri kullanarak gibi yapmanın bazı yöntemleri okurdum.

Bu yöntemi kullanan orada herhangi bir örnek proje var mı?

Soru:

  1. Nasıl token okumak için [Authorize] öznitelik düzeltirim?
  2. Nasıl Bu belirteç oluşturmak mı? Ben bu çerezleri kullanır çünkü formsauthentication kullanabilirim sanırım.
  3. Nasıl gerçek yetkilendirme yapabilirim, istemci çiğ şifre gönder sonra kullanıcı adı ben simge oluşturmak veya başka bir yolu var mı?
  4. Web siteme nasıl kullanıyor ne yapmalıyım? Bu farklı bir uygulama, etki ve yetki gibi kullanırken daha işlendiğini duydum.

CEVAP
5 NİSAN 2012, PERŞEMBE


Belirteçleri gitmek için sağlam bir yol olacağını düşünüyorum. Form kimlik doğrulaması için web çerezleri dayanmaktadır. Olmayan tüm tarayıcı istemcileri için de durum değil.

Öneririm ne özel bir AuthorizationFilterAttribute oluşturma ve OnAuthorization yöntemi geçersiz kıldı. Bu yöntem, geçerli kimlik bilgileri temin ettikten sonra istemciye verilen bir belirteç varlığı için kontrol edebilir. Herhangi bir yöntem, bu özelliği kullanın ya da doğrulanmış istiyorum denetleyicisi. Burada referans olabilecek bir örnek

 public class AuthorizeTokenAttribute : AuthorizationFilterAttribute 
{      
    public override void OnAuthorization(HttpActionContext actionContext)
    {
        if (actionContext != null)
        {                
                if (!AuthorizeRequest(actionContext.ControllerContext.Request))
                {
                    actionContext.Response = new HttpResponseMessage(HttpStatusCode.Unauthorized) { RequestMessage = actionContext.ControllerContext.Request }; 
                }
                return;
        }
    }

    private bool AuthorizeRequest(System.Net.Http.HttpRequestMessage request)
    {
        bool authorized = false;
        if (request.Headers.Contains(Constants.TOKEN_HEADER))
        {               
            var tokenValue = request.Headers.GetValues("TOKEN_HEADER");
            if (tokenValue.Count() == 1) {
                var value = tokenValue.FirstOrDefault();               
               //Token validation logic here
               //set authorized variable accordingly
            }                
        }
        return authorized;
    } }

TOKEN_HEADER sadece bir dize, İstemci Kimlik Doğrulaması istekleri için söylemek gereken bir HTTP Başlığı temsil ediyor.

Devam edin

  1. İstemci istekleri güvenli veri
  2. İstemci Yetkisiz durum kodu ile yetkili, geri bir yanıt değildir
  3. İstemci HTTPS üzerinden güvenli olması gereken kimlik doğrulaması için kimlik bilgilerini gönderir
  4. Bir kez doğrulanmış, müşteri ne için çalışır bir HTTP üstbilgi veya üzerinden bir belirteç alır
  5. İstemci çalışır tekrar güvenli veri isteme, bu kez isteğe bağlı token
  6. Bu AuthorizeTokenAttribute belirteç doğrulamak ve işlemi başlatmak için izin verir.

Ayrıca, John Petersen tarafından bu yazı kontrol edin. Making your ASP.NET Web API’s secure

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ImBluecams

    ImBluecams

    25 Kasım 2012
  • Mindy

    Mindy

    20 NİSAN 2006
  • TopOfTheTech

    TopOfTheTech

    5 NİSAN 2010