Di mana saya dapat memperluas fungsionalitas Identitas ASP.NET saat ini (5.0) untuk dengan mudah menyelesaikan ID pengguna bilangan bulat dan hak keamanan yang terkait dengan klaim? Ini harus tersedia di semua titik akses layanan browser aplikasi web saya (di mana pun cookie atau JWT disediakan), termasuk hub SignalR, pengontrol MVC, dan pengontrol WebAPI. Ini harus bekerja dengan Otentikasi OWIN.
Maaf jika saya sudah melewatkan jawaban di sini. Saya tahu ada banyak postingan mengenai hal ini, tetapi saat ini saya tidak melihat satu pun yang menjawab pertanyaan tersebut. Berikut adalah tiga solusi paling terkait yang pernah saya lihat, dan mengapa solusi tersebut tidak berhasil:
Tetapkan HttpContext.Current.User
di setiap panggilan melalui global.asax Application_PostAuthenticateRequest
. Saya telah melihat fungsionalitas lama (MVC 4) yang menggantikan ini. Saya tahu global.asax secara umum bukanlah pilihan yang tepat saat ini. Saya juga menggunakan OWIN; ini bahkan mungkin tidak berhasil sama sekali.
Ganti ClaimsPrincipal ClaimsAuthenticationManager.Authenticate()
dengan konfigurasi <system.identityModel><identityConfiguration><claimsAuthenticationManager type = "CustomClaimsAuthenticatonManager" />
Namun, ClaimsAuthenticationManager
berasal dari System.Identity
, yang bahkan tidak ada dalam referensi proyek ASP.NET 5.0 saya dengan ClaimsAuthentication
aktif. Sebaliknya saya memiliki referensi ke Microsoft.AspNet.Identity.Core
hal dalam proyek saya dari paket NuGet saat ini. Tampaknya pendekatan ini bukan untuk aplikasi ASP.NET, atau setidaknya bukan untuk aplikasi saat ini?
Setel UserManager.ClaimsIdentityFactory
ke ClaimsIdentityFactory
khusus, dengan CreateAsync
yang diganti. Sepertinya ini mungkin berhasil, tetapi saya tidak melihat cara apa pun untuk memasukkannya ke perilaku default ASP.NET saat ini. Lihat di sini: Bagaimana cara mengatur ClaimsPrincipal khusus di MVC 5?