Перенаправить администратора после входа в систему - PullRequest
0 голосов
/ 18 апреля 2020

Я хочу перенаправить пользователей-администраторов для индексирования действий в контроллере администратора. но когда я вхожу в систему как администратор и пытаюсь нажать на ссылку на странице администратора, я получаю «статус 404», он недоступен. У меня представление adminPartial выглядит следующим образом:

@if (Request.IsAuthenticated)
{
   RidesDbContext context = new RidesDbContext();
   UserStore<IdentityUser> userStore = new UserStore<IdentityUser>(context);
   UserManager<IdentityUser, string> userManager = new UserManager<IdentityUser, string>(userStore);


   bool exist = userManager.IsInRole(User.Identity.GetUserId(), "Admin");

   if (exist)
   {
           <ul class="nav navbar-nav">
               <li>
                   @Html.ActionLink("Admin Page", "Index", "Admin" , new { @class="nav-link"})
               </li>
        </ul>
   }
}

это либо переход к индексу по умолчанию (homePage), либо выдача мне статуса ошибки. Индекс действия в контроллере администратора:

    // GET: Admin
        [Authorize]
        public ActionResult Index()
        {
            return View();
        }

Буду признателен за любую помощь. Спасибо.

РЕДАКТИРОВАТЬ: мой индексный вид выглядит следующим образом:

@{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_LayoutPageDefault.cshtml";
}
<link href="~/Styles/styleHomePage.css" rel="stylesheet" />

<script src="~/Scripts/Animation.js"></script>
<div>
    <h2>RidesApp</h2>


    <div class="mask rgba-gradient d-flex justify-content-center align-items-center">
        <!-- Content -->
        <div class="container">
            <!--Grid row-->
            <div class="row">
                <!--Grid column-->
                <div class="col-md-6 text-white text-center text-md-left mt-xl-5 mb-5 wow fadeInLeft" data-wow-delay="0.3s">
                    <h1 class="h1-responsive font-weight-bold mt-sm-5">Make purchases with our app </h1>
                    <hr class="hr-light">
                    <h6 class="mb-4">
                        Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem repellendus quasi fuga nesciunt
                        dolorum nulla magnam veniam sapiente, fugiat! Commodi sequi non animi ea dolor molestiae
                        iste.
                    </h6>
                    <button type="button" class="btn btn-outline-light btn-lg">
                        @Html.ActionLink("Sign up to Drive", "DriversRegistration", "Drivers")
                    </button>
                    <button type="button" class="btn btn-outline-light btn-lg">
                        @Html.ActionLink("Sign up to Ride", "RidersRegistration", "Riders")

                    </button>
                </div>
                <!--Grid column-->
                <!--Grid column-->
                <div class="col-md-6 col-xl-5 mt-xl-5 wow fadeInRight" data-wow-delay="0.3s">
                    <img src="https://mdbootstrap.com/img/Mockups/Transparent/Small/admin-new.png" alt="" class="img-fluid">
                </div>
                <!--Grid column-->
            </div>
            <!--Grid row-->
        </div>
        <!-- Content -->
    </div>
</div>
<!--

он использует страницу общего макета с остальными ссылками панели навигации.

1 Ответ

1 голос
/ 18 апреля 2020

Согласно документам , нет перегрузки, соответствующей вашим параметрам.

Попробуйте изменить его на;

@Html.ActionLink("Admin Page", "Index", "Admin" , new { @class="nav-link"}, new { })

[Authorize] означает пользователя любого типа. если вы вошли в систему. Если вы перенаправлены на страницу входа, это означает, что вы не вошли в систему вообще. ЕСЛИ ваш индекс не является страницей входа в систему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...