javascript - 如何在SPA应用中开发登录/注册

标签 javascript angularjs single-page-application

我的应用程序有单页面并为所有选项卡导航实现了 ngRoute。 现在,需要实现登录和注册。仅发布到该内容,它应该导航到所有选项卡导航。

我对以下几点感到困惑: 1)我是否必须创建另一个新页面用于登录和注册并发布到登录,执行 location.href 并重定向到具有所有选项卡导航的现有页面。 (这对于基于 SPA 的应用程序有效吗?)。

2)或者我是否必须在所有选项卡导航都存在的同一页面上添加登录和注册。 (在此选项中,我不确定如何隐藏所有选项卡,直到登录或出现任何安全威胁)。

应用程序是使用 angularjs 和 Web API 开发的。

请在此处提供帮助以展示最佳方法。

谢谢

最佳答案

最好的方法是使用 ui.router 而不是 ngRoute。

接下来是在 app.run.js 文件中添加根范围状态更改监听器

并在其中添加身份验证检查,如下所示

var userInfo = authenticationService.isAuthenticated();

var isLogin = toState.name === "login";

if(isLogin){
    if(userInfo) 
        e.preventDefault();
    return;
}
if(userInfo === false) {
    e.preventDefault();
    $state.go('login');
}

希望这会有所帮助

关于javascript - 如何在SPA应用中开发登录/注册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41596438/

相关文章:

javascript - jQuery:虽然 ajax 请求 block 元素

javascript - 使用 JavaScript 获取文本框值或内容的长度

javascript - 带有通过 JSON 的超链接的 Google 电子表格

javascript - 如何使 Codeschools 的 Angular 边看起来相似?

javascript - 从指令访问隔离范围的属性

ajax - AngularJS : single page and multipage app difference and use in practice?

popup - 在 SPA 中使用 MSAL.js 进行 Azure B2C 身份验证 - 弹出窗口有问题吗?

javascript - 在 HTML 页面中包含数据的最佳方式是什么?

javascript - 重置 HTML 表单字段(避免撤消功能)

reactjs - Linkedin 跟踪 Google 标签管理器中的单页应用程序