Wygląda na to, że grupa Durandal JS Google ma kilka odpowiedzi, ale nie ma konkretnego kodu przykładowego.
Authentication with Durandal
Looking to add authentication to the SPA sample, but keep it an SPA
Mauro Servienti pomysłów:
Moje backend naraża usługi (WebAPI w moim przypadku), gdzie istnieje getCurrentUser operacji.
Tak więc, w moim main.js, w app.Start() następnie wywołanie zwrotne przed wywołaniem app.setRoot Wywołuję backend pytając, asynchronizuję, dla użytkownika, jeśli wynik jest prawidłowym użytkownikiem Ustawiam root do głównej powłoki aplikacji, w przeciwnym razie ustawiam katalog główny na powłokę logowania.
Na czym polega problem? Z punktu widzenia klienta uwierzytelnienie to tylko "flaga", która mówi: ok, wiem kim jesteś. Możesz wykorzystać moc FormsAuthentication i żyć z nią, a następnie eksponować akcję GET WebAPI, która pozwala ci uzyskać informacje o aktualnie zalogowanym użytkowniku.
Jakiego rodzaju uwierzytelnienia szukasz? –
Tak proste, jak to tylko możliwe. Tylko po to, aby uwierzytelnić użytkowników przed zapisanymi w bazie danych nazwami użytkowników i hasłami. Po pomyślnym zalogowaniu się SPA załaduje się. – mitaka
Myślałem też o bezpieczeństwie. Używanie [ValidateAntuForgeryToken] ze sterownikiem Breeze.js, ale jest to część innego pytania. – mitaka