允许用户仅编辑自己的文章

时间:2018-10-23 22:21:35

标签: angularjs

我想知道控制角度应用程序资源访问的最正确方法。

要控制对文章的版本组件和附加组件的访问,我使用了警卫队的canActivate方法,并且我检查是否存在令牌来授权访问,或者如果令牌不存在,则将用户重定向到登录页面存在...

现在要允许用户仅编辑自己的文章,我应该检查文章作者的ID是否等于对用户进行身份验证...如果不是他自己的文章,我想将用户重定向到页面向他表明他无权编辑该文章...

因此,我应该在保护程序或版本组件的打字稿上进行此测试。

1 个答案:

答案 0 :(得分:0)

canActivate防护是对页面进行是/否访问的一个很好的解决方案(例如检查令牌),并且您应该包括一个额外的编辑路径(例如,文章的当前用户)。

如果您将检查用户是否可以编辑关节的逻辑放到服务中,然后将该服务包括在组件中,则可以轻松进行检查,例如:

<div class="edit-article" *ngIf="canEditArticle()"><a href="...">Edit</a></div>

然后在您的组件中:

canEditArticle() {
   return authService.canEditArticle();
}

您还需要确保在应用程序服务器(或持久层)上具有业务逻辑。