Zezwolenie na http w jednym z kontrolerów

Zezwolenie na http w jednym z kontrolerów
HI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1863
0

Witam.

Czy da się zrobić tak, aby mając:
app.UseHttpsRedirection(); w konfiguracji,
zezwolić jednemu kontrolerowi na łączenie się przez http?

Potrzebuje łączyć się do jednego z kontrolerów ze starszego urządzenia w którym przeglądarka "średnio" wspiera https.

fasadin
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4883
0

watpie w to.

Zawsze mozesz postawic nowy projekt ktory odbiera po http dany request i dalej go wysyla (juz po https) do Twojego glownego programu

edit jednak sie mylilem

AdamWox
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Jastrzębie-Zdrój
  • Postów: 2180
1

Nie jestem pewien czy chce ci się tyle pisać ale może to coś nakieruje Enforce https on one controller and http on the other. Jeśli nie, to zamiast app.UseHttpsRedirection(); może dodaj atrybut do kontrolerów, które wymagają https

Kopiuj
[RequireHttps]
public class MyController : ControllerBase
{
}

PS.
Widziałem, że sporo ludzi na [RequireHttps] narzeka i preferuje własne atrybuty.

WeiXiao
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5227
3

A czy przypadkiem nie dałoby się tego zrobić na poziomie Middleware?

np. przed wywołaniem HttpsRedirectora mieć jakiś swój checker, który pozwoliłby skipnąć HttpsRedicredtion

lub po prostu napisać swój własny HttpRedirection w oparciu o kod źródłowy prawdziwego, ale dodanie swojego checka w nim?

EM
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 19
0

Moze w startup.cs wrzucic app.UseRouting() przed app.UseHttpsRedirection() , zrobic if'a na endpoint i jesli to ten twoj to nie wykonec UseHttpsRedirection.
Ale nigdy czegos takiego nie robilem i tez nie wiem czy powinno tak sie robic, tak tylko przyszlo mi do glowy.

albo :

Jest tez cos takiego jak app.useWhen i wtedu mozesz odwolac sie do requestu lambda

Kopiuj
 app.UseWhen(context => context.Request.Path.StartsWithSegments ("/twojKontroler"), appBuilder => { appBuilder.UseHttpsRedirection(); }); 
HI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1863
0

Zrobiłem to za pomocą dodatkowego atrybutu (o którym mowa w temacie do którego wrzucił link @AdamWox).

Dziękuję za pomoc :).

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.