在客戶端使用angularjs,在服務器端使用c#。 我想了解如何創建一個網站與用戶。網站保留用戶信息
我知道如何將數據存儲在數據庫中。
我真正的問題是網站如何記住用戶會話 刷新後。 所以用戶不需要再次登錄。
謝謝你們。
在客戶端使用angularjs,在服務器端使用c#。 我想了解如何創建一個網站與用戶。網站保留用戶信息
我知道如何將數據存儲在數據庫中。
我真正的問題是網站如何記住用戶會話 刷新後。 所以用戶不需要再次登錄。
謝謝你們。
Microsoft爲此專門爲.NET Web API項目創建了一個JWT(JSON Web令牌)包。而且由於您使用的是Angular.js,因此使用JSON是完美的。
有大量的教程可以幫助您理解JWT如何工作並安全地保存這樣的用戶會話:https://scotch.io/tutorials/the-anatomy-of-a-json-web-token。
這個想法是,你的服務器發送你的客戶端/用戶一個長的加密字符串。客戶端將其保存在他們的Cookie中,並在需要驗證用戶時將其發送到服務器。
有關加密的大部分複雜細節不需要擔心。只需按照設置JWT令牌交換的教程即可。
回到目前,我們使用Cookie來完成這件事。
在今天的Restful html5世界中,我們可以使用其他幾個選項。
Websql,Localstorage,IndexedDB。
也許你正在使用類似JWT的東西來存儲你用來進行認證的API調用的認證令牌。
要走的路或者我所做的就是將該令牌存儲在localStorage中,然後在每次調用API時注入。
然後在角度運行部分,我檢查用戶是否已通過身份驗證,檢查是否存儲令牌,如果不是,則發送到登錄頁面。
angular.module('Scope', ['ui.router', 'ngStorage'])
.run(function($localStorage, $state){
if (!$localStorage.authenticationToken) {
$state.go('login');
}
}
});
在這個例子中,每一個應用程序重新加載時間,角度執行run函數,並檢查是否我們已經存儲的道理,如果不是,發送用戶的登錄網頁。
偉大的解決方案! –
感謝您的幫助! –