网站保存用户详细信息

Website hold user details

本文关键字:详细信息 用户 保存 网站      更新时间:2023-09-26

在客户端使用angularjs,在服务器端使用c#。我想学习如何与用户创建一个网站。

我知道如何在数据库中存储数据。

我真正的问题是网站如何记住用户会话后让人耳目一新。所以用户不需要再次登录。

谢谢。

微软专门为此目的为。net Web API项目创建了一个JWT (JSON Web Token)包。因为你正在使用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 run部分,我检查用户是否被认证,检查我是否存储了令牌,如果没有,则发送到登录页面。

angular.module('Scope', ['ui.router', 'ngStorage'])
    .run(function($localStorage, $state){
         if (!$localStorage.authenticationToken) {
            $state.go('login');
        }
     }
});

在这个例子中,每次应用重新加载时,angular都会执行run函数,并检查我们是否存储了令牌,如果没有,则将用户发送到登录页面。