Wylogowanie w ASP.NET MVC - sprawdzać czy zalogowany?

0

hej,

takie pytanie natury czysto technicznej chyba.

Pierwszy przypadek:

[Authorize]
        public ActionResult LogOff()
        {
            FormsAuthentication.SignOut();
            return RedirectToAction("Index", "Home", new object { });
        }

oraz drugi:

public ActionResult LogOff()
        {
            if (Request.IsAuthenticated)
            {
                FormsAuthentication.SignOut();
            }
            return RedirectToAction("Index", "Home");
        }

która wersja jest lepsza? Oczywiście jeśli można powiedzieć że któraś jest lepsza.

To raz, a dwa: w pierwszym przypadku w RETURN na końcu mam:

new object { } 

czy to jest doczegoś potrzebne? Jeśli tak to do czego, a jeśli nie to czemu nie trzeba tego dawać?

Dzięki za odpowiedź :)

1

Gdybyś chciał przekazać jakiś parametr do funkcji index wtedy, jak trzeci parametr przekazujesz to co jest ci potrzebne.
np. new object { id = obiekt.id }, jeśli nie chcesz nic przekazać to pomijasz.

A co do [Authorize] To jeżeli masz ustawione to a nie jesteś zalogowany to może Cie przerzucić do opcji zalogowanie a potem powróci do tej funkcji którą chciałeś wywołać.
W drugim przypadku po prostu Cie nie wyloguje(bo np. nie jesteś zalogowany) tylko zostanie wykonane return RedirectToAction("Index", "Home");
Więc w tym wypadku aż tak dużej różnicy nie będziesz miał. Najlepiej gdy nie jesteś zalogowany to ukryć przycisk wylogowania.

0

No właśnie czyli jeśli świadomie NIE CHCE nic przekazać to nie muszę tego w ogóle wpisywać prawda? czyli jest to zbędne?

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