Я внедрил систему, в которой пользователю разрешен доступ к данному URL, только если он имеет этот URL в своих претензиях. Я создал заявку типа «UserRoutes» и добавил URL-адреса, доступные пользователю. Поэтому, когда пользователь входит в приложение, он / она может посещать только те URL-адреса в своих утверждениях типа «UserRoutes».
Теперь я ищу способ получить эту коллекцию своего /ее URL в представлении, чтобы решить, отображать или нет ссылку на данный URL.
Попытка этого
@if (User.FindAll("UserRoutes").Contains("courses/create"))
{
<p>
<a asp-action="Create" class="btn btn-primary my-3"><span class="fa fa-plus-circle"></span> New Course</a>
</p>
}
или этого
var userRoutes = User.Claims.Where(c => c.Type == "UserRoutes");
if (userRoutes.Contains("courses/create")){
<p>
<a asp-action="Create" class="btn btn-primary my-3"><span class="fa fa-plus-circle"></span> New Course</a>
</p>
показывает следующееошибка
IEnumerable 'не содержит определения для' Contains ', а лучшая перегрузка метода расширения' ParallelEnumerable.Contains (ParallelQuery, string) 'требует получения типа' ParallelQuery
Пожалуйста, как мне этого добиться? Я ценю ваши усилия