Гость
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / ASP.NET Core 2.1 Куда поставить код, который выполняется при входе пользователя? (win aut) / 7 сообщений из 7, страница 1 из 1
27.03.2019, 11:18
    #39792108
vadipok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASP.NET Core 2.1 Куда поставить код, который выполняется при входе пользователя? (win aut)
Добрый день, коллеги!

Подскажите плиз, куда втиснуть код, который должен выполняться при входе пользователя в любую страницу приложения?
Windows авторизация.
Методом тыка выяснил что Program.cs и Startup.cs не подходят.
Спасибо!
...
Рейтинг: 0 / 0
27.03.2019, 11:54
    #39792150
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASP.NET Core 2.1 Куда поставить код, который выполняется при входе пользователя? (win aut)
vadipokМетодом тыкаа метод гугла?
Фильтры?
...
Рейтинг: 0 / 0
27.03.2019, 12:44
    #39792214
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASP.NET Core 2.1 Куда поставить код, который выполняется при входе пользователя? (win aut)
vadipokStartup.cs не подходят.сожалею, но в Core MS решил такие действия называть Код в конвейер (middleware)
И в startup будет регистрация.
...
Рейтинг: 0 / 0
27.03.2019, 12:55
    #39792229
fkthat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASP.NET Core 2.1 Куда поставить код, который выполняется при входе пользователя? (win aut)
Чем Sturtup.Configure не подходит? Лепите туда свой миддлеваре и все.
...
Рейтинг: 0 / 0
29.03.2019, 13:26
    #39793549
vadipok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASP.NET Core 2.1 Куда поставить код, который выполняется при входе пользователя? (win aut)
Понял, спасибо большое!
...
Рейтинг: 0 / 0
01.04.2019, 12:56
    #39794544
Марат Сафин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASP.NET Core 2.1 Куда поставить код, который выполняется при входе пользователя? (win aut)
Напишите более детально, что вам нужно.
Если выполнить код при авторизации пользователя, то думаю не получиться так как Windows авторизация выполняется ещё до выполнения кода ASP NET на уровне IIS.
Если нужно выполнить код перед выполнением кода Controller, то middleware как вариант, но задач при которых нужно самому писать middleware очень мало, практический для всего уже есть готовые решения.
...
Рейтинг: 0 / 0
02.04.2019, 10:06
    #39794982
vadipok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASP.NET Core 2.1 Куда поставить код, который выполняется при входе пользователя? (win aut)
Марат СафинНапишите более детально, что вам нужно.
Если выполнить код при авторизации пользователя, то думаю не получиться так как Windows авторизация выполняется ещё до выполнения кода ASP NET на уровне IIS.
Если нужно выполнить код перед выполнением кода Controller, то middleware как вариант, но задач при которых нужно самому писать middleware очень мало, практический для всего уже есть готовые решения.

Реализовал в виде фильтра, повесив этот фильтр на страницы приветствия.
Во всех остальных страницах будет требование определенной роли.
Ошибок не нашел, работает нормально.
Код: c#
1.
2.
3.
4.
5.
6.
7.
        [FirstEntryFilter]
        public IActionResult About()
        {
            ViewData["Message"] = "Your application description page.";

            return View();
        }



FirstEntryFilter
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
using Microsoft.AspNetCore.Mvc.Filters;
using System;


namespace kern.Models.Authentication
{
    public class FirstEntryFilter : Attribute, IActionFilter
    {
        //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
        // Фильтр создания записи в базе данных о пользователе при первичном входе.
        //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
        public void OnActionExecuting(ActionExecutingContext context)
        {
            // Извлекаем доменный логин пользователя
            string domainLogin = context.HttpContext.User.Identity.Name;

            // Вызов класса безопасности
            Security security = new Security() { DomainLogin = domainLogin };

            // Запись пользователя
            security.InsertUser();
        }

        public void OnActionExecuted(ActionExecutedContext context)
        {
        }
    }
}



Присвоение ролей обсудили в другой теме.
Спасибо!
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / ASP.NET Core 2.1 Куда поставить код, который выполняется при входе пользователя? (win aut) / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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