Tôi đang làm việc trên ứng dụng mạng nội bộ MVC 3 (xác thực cửa sổ). Ứng dụng phải hiển thị trang hồ sơ của người dùng khi người dùng đăng nhập. Để làm được điều đó, tên người dùng của người dùng đã đăng nhập phải được chuyển thành tham số tuyến đường trong tuyến đường sau trong Global.asax.cs.Lấy tên người dùng đã đăng nhập trong ứng dụng mạng nội bộ ASP.NET MVC3
routes.MapRoute(
"Initial",
"{controller}/{action}/{emailAlias}", // URL with parameters
new { controller = "Home", action = "Home", userId = **<USERNAME>**}
);
Ở đây, vì tôi đã sử dụng một số giải pháp thay thế.
Lúc đầu, tôi đã sử dụng
Environment.Username
. Mà hoạt động tốt trong phát triển. Nhưng không phải sau khi xuất bản. Vì sau đóEnvironment.Username
mang tên của hồ bơi ứng dụng mà ứng dụng chạy. Như được mô tả here.Controller.User.Identity.Name
được sử dụng để lấy tên người dùng mong muốn trong bộ điều khiển, hoạt động tốt ở trước và sau xuất bản. Nhưng nó không thể được sử dụng trong bối cảnh Global.asax.cs.System.Web.HttpContext.Current.User.Identity.Name
sản lượng tham chiếu null.System.Security.Principal.WindowsIdentity.GetCurrent().Name
việc loại giống nhưEnvironment.Username
tôi chắc chắn rằng đó là dễ dàng để tìm ra rằng tôi là một Noob bởi bây giờ. Có lẽ tôi đã bỏ lỡ một cái gì đó hiển nhiên. Nếu vậy xin vui lòng chỉ ra rằng hoặc xin vui lòng cho tôi biết một giải pháp đơn giản cảm ơn trước.
Vì vậy, khi tôi thay đổi userId thành tên người dùng của đồng nghiệp, tiểu sử của anh ấy sẽ hiển thị? – jao