我正在使用MVC 3 .Net会员资格。这对我来说是一个新手,一旦他们成功登录,我就会将用户重定向到他们的用户详细信息页面。这是登录控制器。我的用户详细信息操作是期望将用户的GUID传递给它,我不知道该怎么做。我试过User.id?和Membershipt.GetUser()等等,但我似乎无法获得用户详细信息操作所需的用户的GUID。有任何想法吗?提前致谢
[HttpPost]
public ActionResult LogOn(LogOnModel model, string returnUrl)
{
if (ModelState.IsValid)
{
if (Membership.ValidateUser(model.UserName, model.Password))
{
FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/")
&& !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\"))
{
return Redirect(returnUrl);
}
else
{
return RedirectToAction("Details", "User", new { id = User.??????});
}
}
else
{
ModelState.AddModelError("", "The user name or password provided is incorrect.");
}
}
// If we got this far, something failed, redisplay form
return View(model);
}
答案 0 :(得分:0)
我通过快速搜索找到的只是问题,而不是解决方案或示例。虽然这本身并不意味着什么 - 我不熟悉“AccountModel”和“LogOnModel”命名空间以及相关方法。但我仍然可以提供帮助。
第一个问题:GUID存储在哪里?您使用的是目录(AD / LDAP)还是数据库(SQL)。 GUID是“在那里”,如果它已经可访问,它不会像model.GUID那样。您的ValidateUser找到了用户名,但它对GUID“一无所知”。 例如,当您拥有有效的用户名和密码时,ADODB,Linq和DirectorySearcher都可以通过相对简单的方式获取GUID。