Po zalogowaniu użytkownika do mojej witryny, w której korzystam z uwierzytelniania formularza, w jaki sposób mogę zatrzymać użytkownika, aby się zalogować Zaloguj się na stronie rejestrującej się, jeśli ma on już zarejestrowany rejestr: &.Jak powstrzymać użytkownika przed logowaniem/rejestracją i innymi stronami nieautoryzowanymi w aplikacji MVC3?
6
A
Odpowiedz
5
Dwie drogi "z góry na głowie":
1 - niestandardowe Action Filter
który przekierowuje użytkownika ze strony, jeśli są one rejestrowane w
public class RedirectAuthenticatedRequests : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if(filterContext.HttpContext.Request.IsAuthenticated) {
filterContext.Result = new RedirectToRouteResult(
new RouteValueDictionary(new {
controller = "SomeController",
action = "SomeAction"
}
));
}
base.OnActionExecuting(filterContext);
}
}
2 - proste. sprawdź metodę działania login
, jeśli użytkownik jest zalogowany.
if(Request.IsAuthenticated) return RedirectToAction("SomeOtherView");
5
łatwe wyjście jest sprawdzenie w metodzie kontrolera (login/register), jeśli użytkownik jest uwierzytelniony, a jeśli jest przekierowanie użytkownika do strony, którą chcesz:
coś takiego na stronie logowania (samo z rejestru):
//
// GET: /Login/Index
public ActionResult Index()
{
if(User.Identity.IsAuthenticated){
//redirect to some other page
return RedirectToRoute("Home", "Index");
}
return View();
}
0
można sprawdzić właściwość User.Identity.IsAuthenticated i przekierować je odpowiednio.
Powiązane problemy
- 1. Jak powstrzymać grails przed uruchomieniem w Intellijlu?
- 2. Jak powstrzymać windbg przed interaktywnym debuggerem?
- 3. Python: Jak powstrzymać numpy przed wielowątkowością?
- 4. Jak powstrzymać GitHub przed regeneracją strony Jekyll?
- 5. Jak powstrzymać proguard przed zaciemnianiem całego pakietu?
- 6. Jak powstrzymać boty i spam przed przesyłaniem komentarzy?
- 7. iphone: zachowaj dane użytkownika przed aktualizacją aplikacji
- 8. Nawigacja między stronami w aplikacji Electron
- 9. Zapytaj użytkownika przed zamknięciem aplikacji C# WPF
- 10. Co ma powstrzymać programistę przed uzyskiwaniem wielu kluczy API
- 11. Załaduj jQuery asynchronicznie przed innymi skryptami.
- 12. Jak zaimplementować Google reCaptcha w aplikacji MVC3?
- 13. MVC3 + Jak uzyskać bieżącą zalogowaną nazwę użytkownika użytkownika
- 14. Przesuwanie między stronami internetowymi dla aplikacji internetowej
- 15. . Połączenie z serwerem SQL Server - ukrywanie hasła przed innymi programistami
- 16. Jak chronić moją rolę Azure Web przed innymi osobami?
- 17. Jak powstrzymać/unieważnić NStimer
- 18. logowanie i tworzenie stron trzecich na standardowe wyjście. Jak powstrzymać ich przed przeplotem?
- 19. Url.Action dla aplikacji mvc3 hostowanej w podkatalogu
- 20. Przesuwanie obrazów ze sterowaniem stronami w aplikacji Iphone
- 21. Mongo $ Treść zapytania: docs return „zaczynając od” ciąg przed innymi
- 22. Jak powstrzymać ostrzeżenie Pandas Future?
- 23. OutputCache mvc3 tylko wylogować buforowanie użytkownika
- 24. Jak uzyskać katalog główny aplikacji (pełna ścieżka fizyczna) w aplikacji OnApplicationStarted w aplikacji MVC3?
- 25. Jak powstrzymać przeglądarkę Chrome przed przekształcaniem względnych linków w linki bezwzględne podczas kopiowania/wklejania?
- 26. Uwierzytelnianie użytkownika w aplikacji tornado websocket
- 27. PrintDialog ze stronami Landscape i Portrait
- 28. Jak powstrzymać Mavena 2.x przed próbą pobrania nieistniejącego pliku pom.xml dla zależności w każdej kompilacji?
- 29. Jak powstrzymać Androida przed ponownym rysowaniem całego ekranu, gdy coś się zmieni?
- 30. Jak powstrzymać emacs przed zamianą podbarwnika za pomocą trybu <- w trybie pracy
Ja bym stwórz atrybut Attribute [AuthorizeAttribute] w rzeczywistości. – Rhapsody
@ Czy możesz wyjaśnić, jakie kroki należy podjąć, aby ten Atrybut? – updev
@Xander masz na myśli ActionFilter na Global.aspx? – updev