Форум программистов, компьютерный форум, киберфорум
C#: ASP.NET MVC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
86 / 13 / 1
Регистрация: 24.05.2010
Сообщений: 590
1

Как в AuthorizationFilterAttribute узнать какой метод контроллера выполняется?

22.02.2018, 15:03. Показов 907. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет!

Действия происходят в Web API (подходящего раздела я не нашел, поэтому создаю тему в этом).

Я хочу, чтобы определенные методы контроллера были доступны не всем подряд, а разным пользователям. То есть Контроллер1.Метод1 чтобы работал только для Васи и Пети, а Контроллер2.Метод2 для Коли и Пети.

Для решения этой задачи я создал класс, унаследованный от AuthorizationFilterAttribute и переопределил в нем метод OnAuthorization, в котором обрабатываю логику предоставления доступа.

В OnAuthorization через его параметр я могу понять, что это за пользователь и что это за контроллер. Но мне нужно ещё понимать какой метод сейчас обрабатывается. Этой информации я нигде не увидел.

Вопрос 1: могу ли я как-то это узнать в том виде, как выше описал?

Т.к. для меня пока ответ на вопрос выше нет, я начал думать как решить эту задачу. Добавил в свой класс фильтра поле и передаю его в параметре:

C#
1
[MyAuthentication(nameof(MyMethod))]
Вопрос 2: если ответ на вопрос 1 все же нет, то нормальное ли решение, которое я сейчас использую? Или это как-то по другому решают?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.02.2018, 15:03
Ответы с готовыми решениями:

Узнать какой метод контроллера отвечает по ссылке
Здравствуйте. Есть страница и ее ссыль. Есть ли какой простой и быстрый способ узнать какой метод...

Как узнать программно - в какой процедуре выполняется код?
Собственно что бы можно было вывести на экран сообщение Msgbox ("Ошибка в процедуре " &...

Как узнать в какой строке в данный момент выполняется приложение
Visual Studio 2015, c#. Собрал решение, получил exe, пользуюсь им (запуская через проводник). В...

Как узнать какой выполняется POST(GET) запрос в браузере при нажатии кнопки на сайте и как его воспроизвести
Есть реальный пример: на сайте vk в браузере играет музыка, по нажатии на паузу она...

2
484 / 439 / 123
Регистрация: 05.01.2010
Сообщений: 1,848
22.02.2018, 16:27 2
я так полагаю, нужно это: https://msdn.microsoft.com/en-... .118).aspx
1
86 / 13 / 1
Регистрация: 24.05.2010
Сообщений: 590
22.02.2018, 16:45  [ТС] 3
valera_21, в свойствах аргумента метода OnAuthorization нашел свойство, содержащее этот класс. Спасибо!
0
22.02.2018, 16:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.02.2018, 16:45
Помогаю со студенческими работами здесь

Как узнать, какой скрипт выполняется при клике, и вытащить его в отдельный файл?
на сайте http://www.stat.gov.kz/faces есть скрипт поиска налогоплательщика по БИН данным. ...

Как узнать, какой скрипт выполняется при клике, и вытащить его в отдельный файл?
на сайте http://www.stat.gov.kz/faces есть скрипт поиска налогоплательщика по БИН данным. ...

Как узнать, какой скрипт выполняется при клике, и вытащить его в отдельный файл
на сайте http://www.stat.gov.kz/faces есть скрипт поиска налогоплательщика по БИН данным. ...

Как узнать какой Button вызвал метод
На форме несколько кнопок, которые вызывают один и тот же метот, допустим такой: void METOD() {...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru