Trong trang web Asp.net Mvc 6, tôi đã tùy chỉnh ra ngoài hộp AccountController
để tôi thêm Xác nhận quyền sở hữu tùy chỉnh trước khi gọi userManager.CreateAsync()
, cả khi đăng kýAsp.net Mvc 6 nhận được xác nhận quyền sở hữu ngay lập tức sau khi đăng nhập
- với một tài khoản cục bộ (email/mật khẩu), trong phương pháp
Register()
của bộ điều khiển - với một nhà cung cấp bên ngoài (google/facebook), trong
ExternalLoginConfirmation()
của bộ điều khiển
Bây giờ những gì tôi muốn làm là ngay lập tức sau người sử dụng đăng nhập vào, cả hai
- trong phương pháp
Login()
sau khi gọisignInManager.PasswordSignInAsync()
và - trong phương pháp
ExternalLoginCallback()
sau khi gọisignInManager.ExternalLoginSignInAsync()
... để lấy tuyên bố rằng, lý tưởng mà không va vào DB để có được người dùng.
Tôi nhận thấy rằng nếu tôi xem trực tiếp Người dùng sau khi đăng nhập, bộ sưu tập Xác nhận quyền sở hữu trống. Tuy nhiên, nếu tôi xem xét nó trong một hành động điều khiển tiếp theo, bộ sưu tập Yêu cầu bồi thường được điền và có yêu cầu tùy chỉnh của tôi trong đó.
Câu hỏi đặt ra là tại sao không phải là Xác nhận quyền sở hữu được điền ngay sau khi đăng nhập (tôi đoán mã đăng nhập không làm mới CurrentPrincipal?) Và có một địa điểm khác để kiểm tra trực tiếp sau khi đăng nhập để nhận các tuyên bố mà không cần nhấn DB?
Tôi có thể repro những gì bạn đang thấy, có thể là do thiết kế ... thử đăng câu hỏi này tại http://github.com/aspnet/identity/issues –