2011-01-22 81 views
12

我想添加一个用户的GUID与我提交帖子时从用户检索到的信息。我怎样才能得到GUID?获取当前用户的GUID?

我使用默认身份验证系统,伴随着一个ASP.NET MVC应用程序。

回答

29

如果您使用的是ASP.NET成员资格提供:

MembershipUser user = Membership.GetUser(User.Identity.Name); 
Guid guid = (Guid)user.ProviderUserKey; 

或者干脆:

Guid guid = (Guid)Membership.GetUser().ProviderUserKey; 
1

你可以简单地使用,而不是打的是这样的数据库的用户名:

[Authorize] 
public ActionResult PostComment() 
{ 
    var username = User.Identity.Name; 
    // Here you know the user trying to post a comment 
    ... 
} 
+0

嗯我的计划是使用GUID作为外键。使用用户名称更好吗? – 2011-01-22 17:24:54

+0

用户名应该是唯一的,所以它对FKs来说工作正常。 – 2011-01-22 17:25:59

1

嗨有一个MVC使用的会员示例,在此解释blog。它显示了如何获取当前登录用户的成员信息。

0

这是如何从用户名的GUID用户:

Guid userGuid = (Guid)Membership.GetUser(user.Username).ProviderUserKey;