HttpContext nie zwraca Usera

0

Witam,
mam taki problem, mianowicie w .NET Core 3.1 muszę wyciągnąć nazwę Usera. Próbuję użyć IHttpContextAccessor, rejestrowałem go w Startupie na 2 sposoby -services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>(); lub services.AddHttpContextAccessor();, wstrzykuję ten accessor przez konstruktor, ale niestety httpContext.User.Identity.Name zwraca mi nulla :/

1

Może Name jest null'em może sesji nie przekazujesz przy request'ach. Za mało danych podałeś, kodu przykładów i wszystkiego.

1

dodałeś atrybut "Authorize" nad kontrolerem?

[Authorize]
public class TestController : Controller
{
}
0

Wyrzuca mi teraz taki błąd:

InvalidOperationException: No authenticationScheme was specified, and there was no DefaultChallengeScheme found. 
The default schemes can be set using either AddAuthentication(string defaultScheme) or 
AddAuthentication(Action<AuthenticationOptions> configureOptions).```
2

Ty nie masz nawet skonfigurowanej autentykacji. To nie dziwne że ci nie działa
https://stackoverflow.com/questions/47324129/no-authenticationscheme-was-specified-and-there-was-no-defaultchallengescheme-f

0
pavarotti napisał(a):

Wyrzuca mi teraz taki błąd:

InvalidOperationException: No authenticationScheme was specified, and there was no DefaultChallengeScheme found. 
The default schemes can be set using either AddAuthentication(string defaultScheme) or 
AddAuthentication(Action<AuthenticationOptions> configureOptions).```

Prawdopodobnie masz nieskonfigurowaną autentykację :)
https://docs.microsoft.com/en-us/aspnet/core/security/authentication/windowsauth?view=aspnetcore-3.1&tabs=visual-studio#iisiis-express

0

Ogólnie zależy mi, żeby dostać nazwę użytkownika i domenę z komputera, a nie przekierowanie do logowania, bo tu nie będzie logowania. @hzmzp patrzyłem na tego stacka i w sumie odpowiedź od ali zarei mi działa, ale to nie jest to czego potrzebuję, bo nie chcę aby użytkownik się logował

1

To pytanie co ty chcesz osiągnąć? Bo wydaje mi się że używasz złych narzędzi.

0

Ok, sorrki za chaotyczne, pochopne i źle opisane pytanie. Problem rozwiązany - potrzebowałem Windowsowskiej autentykacji, trzeba to było ustawić w pliku launchSettings.json

1 użytkowników online, w tym zalogowanych: 0, gości: 1