无法更改httpcontext.current.user中的属性值。当用户登录时,我获取用户详细信息并存储在HttpContext.Current.User中。以下是我的代码。
FormsAuthenticationTicket authTicket = FormsAuthentication.Decrypt(authCookie.Value);
var s = new System.Web.Script.Serialization.JavaScriptSerializer();
User obj = s.Deserialize<User>(authTicket.UserData);
UserInformation CurrentUser = new UserInformation(obj.UserID);
CurrentUser.UserId = obj.UserID;
CurrentUser.FirstName = obj.UserFName;
CurrentUser.LastName = obj.UserLName;
CurrentUser.roles = obj.SecurityGroupName;
CurrentUser.DefaultWhse = 14;
HttpContext.Current.User = CurrentUser;
我在global.asax中使用过它。
但是现在用户可以随时更改CurrentUser.DefaultWhse值,但是当我更改像下面的值时。
示例:id = 4
public ActionResult ChangeWhse(string id)
{
User.DefaultWhse = Convert.ToInt32(id);
return RedirectToAction("UserWhseMenu");
}
User.DefaultWhse是4内部方法。但是当它离开时再次分配值14。请指导我。