我刚刚完成了一个小的hack,针对我的angular应用程序。首先,我有一个带有PUBLIC、MEMBER、ADMIN权限访问角色的菜单导航列表。登录后,我将用户的角色存储为“MEMBER”,他可以查看PUBLIC和MEMBER链接。(使用Chrome)但后来我打开了
开发者工具 > 应用程序 > 存储 > 会话存储
并将'member'变量从"MEMBER"更改为"ADMIN",然后我就可以查看秘密管理员链接。
这不是一个关于编码结构的问题,而是“如何以安全的方式存储会话变量”的问题。在此之前,我认为PHP的会话变量相当于“会话存储”,但社区说SESSION不能被用户更改 https://dev59.com/XVnUa4cB1Zd3GeqPedgu#6912409。
那么,现在我了解到,有两种类型的SESSION,即服务器端和客户端SESSION。对于一个标准的angular应用程序,最好的存储“email”、“role”之类的处理方式是什么,而且不能被用户修改?我需要将它们存储在会话中的原因是它们可以很容易地被调用出来。
Role - Show/Hide navigation menu items
Email - to perform SQL filter, SELECT fields FROM Record WHERE email=Session.Email
感谢您的建议。