如何使变量在angular中持久化?
How to make variables persistent in angular?
我有问题。因此,我正在创建一个 angular 应用程序,用户需要经过某人验证、批准并具有角色。基本上我有 3 个变量:isApproved、role 和 isValidated。我还有一个用于身份验证和授权的 JWT 令牌。我应该如何使这 3 个变量持久化?我想向用户显示不同的页面,如果他们经过验证,或者如果他们只被批准,或者如果他们只有一个特定的角色并且他们经过验证但没有被批准,等等。
我正在考虑将它们存储在本地存储中,但用户可以在那里更改值。我认为的另一种方法是,每次用户刷新页面时,调用 API 从后端给我这 3 个变量,但我不知道这是否是一个好方法。或者有没有办法从令牌中获取值?比如使用 claims 之类的东西,然后在客户端解码 token 来获取值?
如果可以,请你帮助我。谢谢,祝你有美好的一天!
验证、验证和...仅在客户端执行不是一个好主意。您也必须检查后端的任何请求。例如,您将数据存储在客户端的本地存储中。如果用户更改本地值,您会仔细检查后端,这样可以防止出现安全问题。双重检查后端并不是一件坏事,在许多用例中你应该这样做。一种方式是索赔。如果您的后端负载很高,您可以使用内存缓存。但是如果您使用 jwt 并将数据存储在默认 asp 核心 jwt 提供程序的声明中,因为它不是注销机制,您会遇到麻烦。如果您在声明中使用身份存储数据是一个好方法,而且它也是可扩展的。
我有问题。因此,我正在创建一个 angular 应用程序,用户需要经过某人验证、批准并具有角色。基本上我有 3 个变量:isApproved、role 和 isValidated。我还有一个用于身份验证和授权的 JWT 令牌。我应该如何使这 3 个变量持久化?我想向用户显示不同的页面,如果他们经过验证,或者如果他们只被批准,或者如果他们只有一个特定的角色并且他们经过验证但没有被批准,等等。 我正在考虑将它们存储在本地存储中,但用户可以在那里更改值。我认为的另一种方法是,每次用户刷新页面时,调用 API 从后端给我这 3 个变量,但我不知道这是否是一个好方法。或者有没有办法从令牌中获取值?比如使用 claims 之类的东西,然后在客户端解码 token 来获取值? 如果可以,请你帮助我。谢谢,祝你有美好的一天!
验证、验证和...仅在客户端执行不是一个好主意。您也必须检查后端的任何请求。例如,您将数据存储在客户端的本地存储中。如果用户更改本地值,您会仔细检查后端,这样可以防止出现安全问题。双重检查后端并不是一件坏事,在许多用例中你应该这样做。一种方式是索赔。如果您的后端负载很高,您可以使用内存缓存。但是如果您使用 jwt 并将数据存储在默认 asp 核心 jwt 提供程序的声明中,因为它不是注销机制,您会遇到麻烦。如果您在声明中使用身份存储数据是一个好方法,而且它也是可扩展的。