ASP.NET Core MVC 中的匿名标识

Dav*_*ang 5 c# anonymousidentification asp.net-core-mvc

在以前的 ASP.NET MVC 中,您可以通过在以下代码中添加 1 行来轻松打开匿名身份验证web.config:

<anonymousIdentification enabled="true" />
Run Code Online (Sandbox Code Playgroud)

我们可以使用匿名身份识别,即Request.AnonymousID识别您网站上未经身份验证的用户。当您需要针对访客保存购物车中的商品时,这对于电子商务体验非常有用。

更多信息:http://www.toplinestrategies.com/blogs/net/anonymous-identification-mvc

问题:

Request.AnonymousID来自System.Web,随着 ASP.NET Core 的出现而消失。

问题:

  1. 如何在 ASP.NET Core MVC 中启用匿名身份识别?
  2. 如果 1 不可能,您将如何“识别”您网站上的访问者?

注意:我不想使用会话来存储对象。

Ale*_*dro 6

我自己编写了一个解决方案。它是模仿旧行为的 ASP.NET Core 中间件。

您可以在 NuGet 上找到AnonymousId (ReturnTrue.AspNetCore.Identity.Anonymous)包,并在GitHub上找到源代码。

我是 ASP.NET Core 的新手,所以请让我知道任何错误、改进、建议、更正......

基本用法是:

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
    app.UseAnonymousId();
    ....
}

public class HomeController : Controller
{
  public ViewResult Index()
  {
      string anonymousId = Request.Headers["AnonymousId"];
      ....
  }
}
Run Code Online (Sandbox Code Playgroud)