클라이언트에서 angularjs를 사용하고 서버 측에서 C#을 사용합니다. 사용자와 함께 웹 사이트를 만드는 방법을 배우고 싶습니다.웹 사이트 사용자 정보 보유
데이터를 db에 저장하는 방법을 알고 있습니다.
내 진짜 질문은 사이트가 사용자 세션을 기억하는 방법입니다. 새로 고침 후. 그래서 사용자는 다시 로그인 할 필요가 없습니다.
감사합니다.
클라이언트에서 angularjs를 사용하고 서버 측에서 C#을 사용합니다. 사용자와 함께 웹 사이트를 만드는 방법을 배우고 싶습니다.웹 사이트 사용자 정보 보유
데이터를 db에 저장하는 방법을 알고 있습니다.
내 진짜 질문은 사이트가 사용자 세션을 기억하는 방법입니다. 새로 고침 후. 그래서 사용자는 다시 로그인 할 필요가 없습니다.
감사합니다.
Microsoft는이 목적으로 .NET Web API 프로젝트 용 JWT (JSON Web Token) 패키지를 만들었습니다. 그리고 Angular.js를 사용하고 있으므로 JSON으로 작업하는 것이 좋습니다.
JWT의 작동 방식을 이해하고 다음과 같이 사용자 세션을 안전하게 저장하는 방법에 대한 자습서가 많이 있습니다. https://scotch.io/tutorials/the-anatomy-of-a-json-web-token.
아이디어는 서버가 클라이언트/사용자에게 암호화 된 긴 문자열을 보내는 것입니다. 클라이언트는이를 쿠키에 저장하고 사용자를 확인할 때마다 서버로 보냅니다.
암호화에 관한 복잡한 세부 사항 대부분은 걱정할 필요가 없습니다. JWT 토큰 교환 설정을위한 자습서를 따르십시오.
요즘에도 쿠키를 사용합니다.
오늘의 안정된 html5 세계에서 우리는 몇 가지 다른 옵션을 사용할 수 있습니다.
Websql, Localstorage, IndexedDB.
아마도 JWT와 같은 것을 사용하여 인증 된 API 호출을하는 데 사용하는 인증 토큰을 저장하고있을 것입니다.
이동 방법은 localStorage에 토큰을 저장 한 다음 api를 호출 할 때마다 주입하는 것입니다.
각도 실행 섹션에서 사용자가 인증되었는지 확인한 다음 토큰이 저장되어 있는지 확인하고 그렇지 않은 경우 로그인 페이지로 보냅니다. 로그인 웹 페이지로 사용자를 보낼 수없는 경우 우리가 토큰을 저장 한 경우이 예에서
angular.module('Scope', ['ui.router', 'ngStorage'])
.run(function($localStorage, $state){
if (!$localStorage.authenticationToken) {
$state.go('login');
}
}
});
때마다 응용 프로그램 재로드는 각 실행 실행 기능, 그리고 검사합니다.
위대한 해결책! –
도움을 주셔서 감사합니다! –