我有一個簡單的服務,它保存用戶憑據(用戶名和密碼通過 btoa ):
@Injectable({
providedIn: 'root'
})
export class UserService {
userCredentials = '';
}
登錄時初始化檔案:
this.userService.userCredentials = btoa(this.user.username ':' this.user.password);
我在后端 Spring Boot 應用程式中使用此憑據來驗證用戶等:
@RequestMapping("/core/user")
public Principal user(HttpServletRequest request) {
String authToken = request.getHeader("Authorization").substring("Basic".length()).trim();
return () -> new String(Base64.getDecoder().decode(authToken)).split(":")[0];
}
如何以不丟失服務中資料的方式處理頁面重繪 ?將此類資料保存在會話存盤中非常不安全,因此我不想將用戶憑據存盤在 localStorage/sessionStorage 中。
uj5u.com熱心網友回復:
您應該保存您的authToken,而不是 userCredentials。重繪 時,進行查詢以使用令牌登錄。如果它仍然有效,您將檢索用戶憑據。
uj5u.com熱心網友回復:
基本上你不能那樣做。您可以使用localStorage, sessionStorage,cookies將它們傳遞給queryParams重新加載并再次獲取它們或通過 api 呼叫獲取它們。
別無退路。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/398054.html
