В моем ядре ASP.NET Core я заметил, что мое заявление, которое я добавляю, теряется .
Сначала у меня есть представление Создать заявку, имеющее форму для создания заявки.Заявка добавлена к зарегистрированному в данный момент пользователю .
Код метода Action:
[HttpPost]
[ActionName("Create")]
public IActionResult Create_Post(string claimType, string claimValue, string claimIssuer)
{
ClaimsIdentity identity = User.Identity as ClaimsIdentity;
Claim claim = new Claim(claimType, claimValue, ClaimValueTypes.String, claimIssuer);
identity.AddClaim(claim);
return RedirectToAction("Index");
}
В эту строку добавлено предложение - identity.AddClaim(claim);
.
Теперь последняя строка перенаправляется на действие Indexметод с кодом:
public ViewResult Index() => View(User?.Claims);
Представление индекса, в котором отображаются все претензии для пользователя:
@model IEnumerable<System.Security.Claims.Claim>
<table class="table table-sm table-bordered">
<tr>
<th>Subject</th>
<th>Issuer</th>
<th>Type</th>
<th>Value</th>
</tr>
@foreach (var claim in Model.OrderBy(x => x.Type))
{
<tr>
<td>@claim.Subject.Name</td>
<td>@claim.Issuer</td>
<td>@claim.Type</td>
<td>@claim.Value</td>
</tr>
}
</table>
Пример: я добавил претензию, см. изображение ниже
Но индексное представление не получило претензию, см. Изображение ниже:
Что не так?