Гость
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Доступ к контроллеру по секретному ключу в адресной строке / 9 сообщений из 9, страница 1 из 1
22.01.2018, 08:19
    #39588044
D_A_S1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ к контроллеру по секретному ключу в адресной строке
Добрый день!
Подскажите, пожалуйста, нужно реализовать доступ ко всем методам определенного контроллера по некому секретному ключу, которые нужно передавать в адресной строке.
Я реализовал следующим образом:
В адресной строке секретный ключ передаю в параметре param. Для этого:
1) RouteConfig.cs
Код: c#
1.
2.
3.
4.
5.
 routes.MapRoute(
                name: "Admin",
                url: "admin/{action}/{id}/{param}",
                defaults: new { controller = "Admin", action = "Index", id = UrlParameter.Optional, param = UrlParameter.Optional }
            );



2) AdminController.cs
Код: c#
1.
2.
3.
4.
 [AdminAuthorizeAttribute]
    public class AdminController : Controller
    {
      .....



3) AdminAuthorizeAttribute.cs
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
public class AdminAuthorizeAttribute : System.Web.Mvc.AuthorizeAttribute
    {
        protected override bool AuthorizeCore(HttpContextBase httpContext)
        {
            var id = (httpContext.Request.RequestContext.RouteData.Values["param"] as string)
                     ??
                     (httpContext.Request["param"] as string);
            if (id == "test")
            {
                return true;
            }
            return false;
        }
    }



Вопрос - верно ли я сделал? Или может быть есть более правильный подход? Этот метод не нравится тем, что необходимо во всех ссылки не забыть передать параметр и его значение.
...
Рейтинг: 0 / 0
22.01.2018, 08:21
    #39588046
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ к контроллеру по секретному ключу в адресной строке
D_A_S1Подскажите, пожалуйста, нужно реализовать доступ ко всем методам определенного контроллера по некому секретному ключу, которые нужно передавать в адресной строке.


D_A_S1Этот метод не нравится тем, что необходимо во всех ссылки не забыть передать параметр и его значение.

Гм.. получается не нравится сама постановка задачи, а не какое-то конкретное решение?
...
Рейтинг: 0 / 0
22.01.2018, 08:23
    #39588047
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ к контроллеру по секретному ключу в адресной строке
D_A_S1Вопрос - верно ли я сделал?

секретный ключ лучше передавать через параметры запроса (?param=value), а не через путь
тогда можно будет использовать один и тот же сформированный URL и добавлять к нему секрет
...
Рейтинг: 0 / 0
22.01.2018, 08:42
    #39588055
D_A_S1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ к контроллеру по секретному ключу в адресной строке
hVosttD_A_S1Подскажите, пожалуйста, нужно реализовать доступ ко всем методам определенного контроллера по некому секретному ключу, которые нужно передавать в адресной строке.


D_A_S1Этот метод не нравится тем, что необходимо во всех ссылки не забыть передать параметр и его значение.

Гм.. получается не нравится сама постановка задачи, а не какое-то конкретное решение?


Вопрос в другом - верно ли делаю. Просто раньше не сталкивался с таким.
...
Рейтинг: 0 / 0
22.01.2018, 08:43
    #39588056
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ к контроллеру по секретному ключу в адресной строке
D_A_S1Вопрос в другом - верно ли делаю. Просто раньше не сталкивался с таким.

не очень
...
Рейтинг: 0 / 0
22.01.2018, 09:26
    #39588081
D_A_S1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ к контроллеру по секретному ключу в адресной строке
hVostt,
в чем не так, если не секрет? И как лучше?
...
Рейтинг: 0 / 0
22.01.2018, 09:45
    #39588092
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ к контроллеру по секретному ключу в адресной строке
D_A_S1,

я ж написал, читайте выше
...
Рейтинг: 0 / 0
22.01.2018, 09:50
    #39588096
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ к контроллеру по секретному ключу в адресной строке
D_A_S1,
Передай просто параметр в контроллер и получи там. Вышло? А потом остальное.
Про правильно или нет, нужно тз от пользователя.
Он руками в урл код будет писать?
...
Рейтинг: 0 / 0
22.01.2018, 10:47
    #39588145
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ к контроллеру по секретному ключу в адресной строке
D_A_S1по некому секретному ключу, которые нужно передавать в адресной строке.обзови это токеном и врубай авторизацию.
Потом бери деньги за выполненную работу.
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Доступ к контроллеру по секретному ключу в адресной строке / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]