3
我听说允许用户使用用户名提交表单并不是一个好的安全做法。这导致我相信,它不是允许在URL中看到用户标识的好习惯。但我需要一种允许用户查看其他用户配置文件的方法。我应该如何链接到ASP.NET MVC 5中的用户配置文件页面?
我在想,而不是使用
@Html.ActionLink("Details", "Details", new { id = item.Id })
如果我应该使用的用户名
@Html.ActionLink("Details", "Details", new { id = item.username })
然后在控制器查找用户和返回用户。
这是正确的方式去做这个?
现在这是我的链接
@Html.ActionLink(person.FullName, "Details","User" , new { UserName = person.UserName }, null)
这是我现在的控制器操作
// GET: /User/Details?UserName=bbob
public ActionResult Details(string UserName)
{
if (UserName == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
ApplicationUser aspnetuser = UserManager.FindByName(UserName);
if (aspnetuser == null)
{
return HttpNotFound();
}
return View(aspnetuser);
}
你能够得到用户名他insode控制器,是吗? – LINQ2Vodka
在URL或表单POST中发送ID没有任何问题。你打算混淆数据库中的每一个主键?http://stackoverflow.com/questions/2087441/using-primary-key-in-asp-net-mvc-urls – Tommy