从主视图未设置对象引用错误-MVC客户端快速入门

时间:2020-10-02 17:11:24

标签: identityserver4

我正在尝试通过MVC客户端快速入门进行操作,但是在此行遇到“未设置对象引用...”错误-“ @foreach((在(await Context.AuthenticateAsync())中的var属性)。Properties.Items )”来自我根据快速入门文档修改的Index.cshtml内部。以下是完整的Index.cshtml。有人可以告诉我我在做什么错吗?

@using Microsoft.AspNetCore.Authentication

<h2>Claims</h2>

<dl>
    @foreach (var claim in User.Claims)
    {
        <dt>@claim.Type</dt>
        <dd>@claim.Value</dd>
    }
</dl>

<h2>Properties</h2>

<dl>
    @foreach (var prop in (await Context.AuthenticateAsync()).Properties.Items)
    {
        <dt>@prop.Key</dt>
        <dd>@prop.Value</dd>
    }
</dl>

1 个答案:

答案 0 :(得分:1)

您在此部分代码中缺少.RequireAuthorization();

app.UseEndpoints(endpoints =>
{
    endpoints.MapDefaultControllerRoute()
        .RequireAuthorization();
});

RequireAuthorization方法禁用整个应用程序的匿名访问。

这里有一个可以效仿的例子:https://github.com/nahidf/IdentityServer4-adventures/tree/master/src/MvcClient