我配置IdentityServer4为使用 AspNet Identity (.net core 3.0) 以允许用户进行身份验证(登录名/密码)。
我的第三个应用程序是.net core 3.0.
登录后,身份验证和授权成功,但我无法通过 User.Identity.Name 检索 UserId,它为空/空。
但是,我可以看到包含sub包含 userId的声明的声明信息。
这是我用于 IdentityServer4 Web 应用程序的包
PackageReference Include="IdentityServer4" Version="3.0.1" />
Run Code Online (Sandbox Code Playgroud) 我有一个类的List列表,它实现了IComparable并覆盖了Tostring方法
订单类:
public class Order : IComparable
{
public int id { get; set; }
public DateTime date { get; set; }
public int CompareTo(object obj)
{
if (obj == null)
{
return 1;
}
else
{
Order order = obj as Order;
if (order == null)
{
throw new ArgumentException("object is not an order");
}
return this.date.CompareTo(order.date);
}
}
public override string ToString()
{
return this.id+"--"+this.date.ToString("dd/MM/yyyy");
}
}
Run Code Online (Sandbox Code Playgroud)
现在我添加了一个扩展方法Show to List,它正如我预期的那样工作
扩展类
public static class ListExtension
{
public …Run Code Online (Sandbox Code Playgroud) 我正在使用 Visual Studio Code 和 C# DevKit (v 1.0.12 ) 和 (v0.5.150)。我无法调试我的 xunit 测试。我的测试的一个例子:
[Fact]
public async Task Shoud_Do_Something()
{
var a = 5;
var b = 6;
var c = a + b;
}
Run Code Online (Sandbox Code Playgroud)
错误如下所示:
我的 csproj 文件代码在这里
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="coverlet.msbuild" Version="6.0.0">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="Microsoft.Data.Sqlite" Version="6.0.14" />
<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="6.0.14" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite.Core" Version="6.0.14" />
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables"
Version="7.0.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.2" />
<PackageReference Include="xunit" Version="2.4.2" …Run Code Online (Sandbox Code Playgroud)