Đối với các hành động của tôi sẽ tương tác với tài khoản của người dùng, tôi muốn tạo đối tượng "Người dùng" ngoài việc thêm đối tượng đó vào "ViewData [" TheUser "]" ngay sau khi bất kỳ hành động nào trên bộ điều khiển của tôi được gọi.Xác định người dùng bằng User.Identity.Name trong hàm tạo điều khiển
Nếu người dùng đăng nhập, nó sẽ lấy thông tin của người dùng từ cơ sở dữ liệu, nếu không, đối tượng "Người dùng" sẽ chỉ là rỗng.
Tôi đã thử truy cập "User.Identity.Name" trong hàm tạo bộ điều khiển nhưng chưa được tạo trước khi thực hiện bất kỳ hành động nào.
Tôi đã xem bộ lọc ủy quyền tùy chỉnh, nhưng những bộ lọc đó sẽ không cho phép tôi tạo đối tượng "Người dùng" và lưu trữ nó trong Chế độ xem.
Đây là một đoạn ngắn gọn về những gì tôi muốn đạt được:
[Authorize]
public class HomeController : Controller
{
User TheUser;
public HomeController()
{
TheUser = User.Identity.IsAuthenticated ? UserRepository.GetUser(User.Identity.Name) : null;
ViewData["TheUser"] = TheUser;
}
}
câu trả lời này đã giúp tôi cho MVC3 http://stackoverflow.com/a/1506311/511438 –