Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法在Angular(或任何SPA)中安全地包含管理视图?_Angular_Security_Single Page Application - Fatal编程技术网

有没有办法在Angular(或任何SPA)中安全地包含管理视图?

有没有办法在Angular(或任何SPA)中安全地包含管理视图?,angular,security,single-page-application,Angular,Security,Single Page Application,我目前正在开发一个应用程序,后端使用ASP Web Api,前端使用Angular4。目前我正在为前端创建一个管理组件,但我觉得这不对。熟悉开发工具的用户只需检查源代码中的可用路径即可。只要稍加修改,他就可以查看前端的管理页面 我知道安全性在后端最为重要,我肯定应用程序的安全性很好,但我不相信保持管理员视图如此开放是一种好的做法 我很想听听你对这件事的看法,如果你有什么我还没有想到的建议 我的观点是,即使用户知道如何使用开发工具,他也无法访问管理页面 首先,你的代码被缩小了。他需要非常优秀才能修

我目前正在开发一个应用程序,后端使用ASP Web Api,前端使用Angular4。目前我正在为前端创建一个管理组件,但我觉得这不对。熟悉开发工具的用户只需检查源代码中的可用路径即可。只要稍加修改,他就可以查看前端的管理页面

我知道安全性在后端最为重要,我肯定应用程序的安全性很好,但我不相信保持管理员视图如此开放是一种好的做法


我很想听听你对这件事的看法,如果你有什么我还没有想到的建议

我的观点是,即使用户知道如何使用开发工具,他也无法访问管理页面

首先,你的代码被缩小了。他需要非常优秀才能修改它

第二,即使他成功了,刷新页面也会使他丢失所有修改

第三,(我假设您的管理员视图正在进行http调用)您应该保护您的端点,以便只允许经过验证的管理员进行http调用。这意味着,如果用户可以看到管理页面,他将无法更改您的数据,无论他做什么


我希望这能让你安静下来

我的观点是,即使用户知道如何使用开发工具,他也无法访问管理页面

首先,你的代码被缩小了。他需要非常优秀才能修改它

第二,即使他成功了,刷新页面也会使他丢失所有修改

第三,(我假设您的管理员视图正在进行http调用)您应该保护您的端点,以便只允许经过验证的管理员进行http调用。这意味着,如果用户可以看到管理页面,他将无法更改您的数据,无论他做什么


我希望这能让你安静下来

你不能保护应用程序,你应该做的是保护数据。任何有点知识的人都可以访问你的管理应用程序,但如果数据安全,他们会看到一个空的应用程序,因为服务器会拒绝用户。@Ploppy我理解这一点,这是真的,但访问者仍然可以看到我用来修改用户凭据/更改角色等的确切屏幕。。。因为我知道后端是安全的,所以我应该接受这一点吗?就像我之前说的。。。这感觉不太对……你必须接受它,尽管angular提供了RouteGuard,可以防止未经授权的用户访问给定页面。虽然总是可以绕过它,因为不可能保护客户端应用。你不能保护应用,你应该做的是保护数据。任何有点知识的人都可以访问你的管理应用程序,但如果数据安全,他们会看到一个空的应用程序,因为服务器会拒绝用户。@Ploppy我理解这一点,这是真的,但访问者仍然可以看到我用来修改用户凭据/更改角色等的确切屏幕。。。因为我知道后端是安全的,所以我应该接受这一点吗?就像我之前说的。。。这感觉不太对……你必须接受它,尽管angular提供了RouteGuard,可以防止未经授权的用户访问给定页面。尽管总是可以绕过它,因为不可能保护客户端应用程序。