获取MVC 5中的登录用户GUID

时间:2014-12-16 15:56:49

标签: asp.net asp.net-mvc asp.net-mvc-5 membership-provider

我正在研究ASP.NET MVC 5 Web应用程序,我正在对LDAP服务器使用表单身份验证。

以下是登录操作方法: -

[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public ActionResult Login(LoginModel model, string returnUrl)
{
    MembershipProvider domainProvider;
    domainProvider = Membership.Providers["ADMembershipProvider"];
    if (ModelState.IsValid)

我们的web.config文件中的相关实体,它连接到LDAP:

<providers>
<add name="ADMembershipProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=4.0.0.0, &#xA;   Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="TestDomain1ConnectionString" connectionUsername="ad.user" connectionPassword="***" attributeMapUsername="sAMAccountName"/>
</providers>

<connectionStrings>
<add name="TestDomain1ConnectionString" connectionString="LDAP://ad-Tgroup.intra/OU=T,DC=ad-Tgroup,DC=intra"/>
</connectionStrings>

目前我将domainname\username存储在我们的日志表中,如下所示:

string ADusername = User.Identity.Name.ToString();
repository.InsertOrUpdateResturant(resturant, ADusername);

使用User.Identity.Name可能会在近95%的情况下起作用,因为它可以唯一地识别任何用户,但另一方面,用户名可能会被更改(假设用户结婚或离婚)。所以我打算替换我的User.Identity.Name并获取用户GUID。但我不确定MVC 5是否提供了获取登录用户GUID的方法。例如,我无法写User.Identity.GUID

0 个答案:

没有答案