2015-11-27 24 views
5

yılında günlüğüne sonra alacaklar dışı-box ı userManager.CreateAsync() arayarak, hemAsp.net Mvc 6 olsun kullanıcı Ben özelleştirilmiş hemen Asp.net Mvc 6 web sitesinde

kaydederken önce özel bir talep eklemek AccountController böylece yerel bir hesap (e-posta/şifre)
  • ,

Şimdi ben neyi kumandanın ExternalLoginConfirmation() yılında kontrolörü harici sağlayıcıya (google/facebook) ile

  • ait Register() yöntemde, içinde Yapmayı sever, hemen sonra kullanıcı Login() yöntemde hem

    • DB vurmadan ideal bu iddiayı almak için

      signInManager.ExternalLoginSignInAsync()

    ... çağırdıktan sonra ExternalLoginCallback() yöntemde signInManager.PasswordSignInAsync() ve
  • çağırdıktan sonra günlükleri Kullanıcıyı al.

    Ben doğrudan oturum açma sonra Kullanıcı bakarsak, Talep toplama boş olduğunu fark ettim. Bununla birlikte, daha sonraki bir denetleyici eylemine baktığımda, Talepler koleksiyonunun doldurulduğu ve özel isteğimin buna sahip olduğu görülüyor.

    Sorunun nedeni, neden İstemler hemen oturum açtıktan sonra doldurulur (oturum açma kodu CurrentPrincipal'ı yenilemez mi?) Ve almak için oturum açtıktan sonra doğrudan kontrol etmek için başka bir yer var mı? DB'ye çarpmadan iddialar?

  • +0

    ... http://github.com/aspnet/identity/issues bu yayınlayabilirsiniz –

    cevap

    0

    Kendi ApplicationUserStore uygulamak ve doldurmaya çalışabilir ihtiyacınız ne olursa olsun (kimlik varlık olarak kullanılır ya da kuruma) kullanıcı özellikleri. Bu tasarım gereğidir olabilir ne görüyorsanız üreme am güçlü