带有TS的Angular2中的安全性

阿皮克斯

我想使用Angular2和TS来构建Web应用程序。

我阅读了一些有关Angular2中身份验证的教程,他们说,我必须实现以下内容。

  1. 索引成分(公共)
  2. 登录组件(公共)
  3. 我的私有组件(私有)

所有这些组件都通过Angular-Router进行路由,并受到一些防护措施的保护。

但是我认为这个警卫并不是很安全。路由受到保护,但组件在客户端js中的某个位置。一些“ js-hacker”可以在没有权限的情况下访问私有组件。

我对这个想法是正确的吗?

我的解决方案是在身份验证请求期间请求私有组件,并且仅在用户具有权限的情况下才返回私有组件。

但是在这种情况下,我不得不将应用程序分为登录部分和私有部分。(好像开销)

另一种解决方案是随每个请求发送一个令牌,以便“ js-hacker”能够看到该组件,但不能看到其数据,因此对他来说是无用的。(但是此令牌需要存储)

请帮助我确定采用哪种安全性方法,或者建议我采用一种更好的方法(我希望采用一种更好的方法...)。

谢谢。

阿巴宾

您将使用*ngIf有条件的方式将受保护的组件附加到有效的身份验证状态。如果将绑定*ngIf到的任何对象评估为false,那么它不仅会将其隐藏起来,还将从DOM中完全删除该组件及其内部的所有内容。

如果他们知道自己在做什么,他们仍然可以查看该组件的源代码,是的,但是正如您推测的那样,您希望将敏感数据保留在源代码之外,并仅从经过身份验证的用户那里安全地获取它们。

您应该真正研究Google的FirebaseFirebase可以比您自己更安全,更可靠地为您处理身份验证,并且您可以使用Firebase Realtime Database存储敏感数据,并在对用户进行身份验证后才将其发送到客户端。非常简单,可以与Angular一起很好地工作(虽然不是必需的,但AngularFire2是官方库),并且它具有比数据库和身份验证更多的功能。相信我,您不会后悔。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

带有Django的html中if语句的使用安全性如何?

带有 kerberos 安全性的 Sqoop 在 cron 中不起作用,抛出 GSSException

行级安全性在带有组的Power BI中不起作用

带有用户和角色的 kotlin 中的 Spring Boot 安全性

带有 DataSourceConnectionProvider 的 JOOQ 配置的线程安全性如何?

Ajax安全性:外部带有对象的JSON

带有弹簧安全性的特定页面的 url

带有 Spring WebFlux 安全性的 ClassNotFoundException

Angular 2 Route Guard / Auth Guard安全性

Codeigniter中的安全性

代码中的集成安全性与密码 - 带有一些 SQL 编写的小型 .net 应用程序

春季安全性中谁叫安全性配置?

Kotlin中的IF比较没有安全性

REST GET API中的OAuth2安全性

Angular2中带有ngFor的ngControl

Angular2中带有可选参数的依赖注入

在带有Angular2的NativeScript中获取元素值

带有Angular2的TypeScript中的Observable规范

我可以在SAML2中为令牌安全性和协议安全性使用相同的证书吗?

Angular 5 + SpringBoot /安全性+ Postgresql

带有自己开发的软件的条形码安全性

使用带有登录表单的 Spring 安全性时,Vaadin 陷入循环

安全性:带有SSH身份验证的git服务器

带有弹簧安全性的不同身份验证规则

Spring安全性和带有Spring Boot的自定义AuthenticationFilter

带有弹簧安全性和webflux公共模式的过滤器链

使用带有春季安全性kerberos扩展名的keytab文件

Maven wsimport抛出带有PKIX路径构建的安全性异常失败:

PostgreSQL行级安全性,涉及带有联接的视图或选择