2016-04-03 73 views
2

我目前正在研究AngularJS应用程序,我碰到了下面的路障。根据用户是否通过验证隐藏或显示链接 - AngularJs

我们有一个login页面,当用户提交时,我们调用web api并对用户进行身份验证,目前我们正在使用声明身份验证来设置cookie等,但按预期方式工作,但是我的问题隐藏并显示链接取决于用户是否登录。我很容易能够解决这个当我在MVC做内部layout.cshtml以下工作:

@if (User.Identity.IsAuthenticated) 
{ 
    Show additional links to user once they're authenticated 
} 
else 
{ 
    Show the standard links 
} 

现在,当我使用直HTML(无Razor文件),但我内建立这种Visual Studio如果用户在.html页面内的用户是authenticated,我难以理解如何显示某些链接?

回答

1

使用ng-if

<div ng-if="user.identity.isAuthenticated"> 
    <a>Important link here</a> 
</div> 
<div ng-if="!user.identity.isAuthenticated"> 
    <a>Standard link here</a> 
</div> 

像这样的工作,根据您的要求。因为这是所有的客户端,但它不会像服务器端那样安全。所以要小心。

+0

嘿卢卡,感谢您的代码片段。您能否详细说明您所说的内容,即不会像服务器端那样安全? –

+0

@Luka我不认为它在安全性方面确实很重要,比如链接是应用程序中受保护的路线。您可以将解决方案置于受保护的状态以验证用户是否已登录。并且,如果在服务器端正确地创建了正确的系统。如果用户设法绕过它,用户只会看到一个空模板,没有任何风险。 –

+0

可以在用户进行身份验证时为用户提供令牌,然后检查令牌是否存在?那么如果它不,那么只是重定向他们的地方。 – nCore

相关问题