我希望我不会抱怨我的许多问题......
我正在使用asp.net配置在ASPNETDB.MDF数据库中创建用户。
我有一个客户端MVC,我想在创建,编辑或删除客户端时,它必须显示执行该操作的用户的user_name和last_user_name。客户端模型中的这两个属性。我希望我的控制器只处理用户的ID(PK),而不是他们的名字。我只知道如何使控制器使用用户名。我如何确保使用id完成任何功能,但显示是user_name?这是我在clientcontroller中的create方法
[Authorize]
public ActionResult Create()
{
var model = new title
{
create_dt = DateTime.Now,
last_maint_dt = DateTime.Now,
row_version = 1,
status = "ACTIVE",
user_id = System.Web.HttpContext.Current.User.Identity.Name,
last_user_id = System.Web.HttpContext.Current.User.Identity.Name
};
return View(model);
}
答案 0 :(得分:0)
如果您使用默认的ASP.NET成员资格提供程序,则可以通过访问System.Web.Security.Membership
找到帐户的用户GUID。然后,您可以使用GetUser()方法并将用户名作为参数传递给它。
//Get Current User ID
var user = System.Web.Security.Membership.GetUser(User.Identity.Name);
if (user != null)
{
string id = user.ProviderUserKey.ToString();
}
如果你有GUID并想要用户名
var user = System.Web.Security.Membership.GetUser(id);
if (user != null)
{
string username = user.UserName;
}