加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

AngularJS – 访问节点/快速会话信息

发布时间:2020-12-17 16:59:06 所属栏目:安全 来源:网络整理
导读:我正在使用Express和Passport进行身份验证和授权的节点应用程序,所有这些都正常工作.但是,我对如何在Angular控制器中获取当前用户(通过Passport设置为req.user)感到困惑. 我希望能够做一些正常的事情,比如在标题/导航栏中显示用户名(以及其他内容),我目前正
我正在使用Express和Passport进行身份验证和授权的节点应用程序,所有这些都正常工作.但是,我对如何在Angular控制器中获取当前用户(通过Passport设置为req.user)感到困惑.

我希望能够做一些正常的事情,比如在标题/导航栏中显示用户名(以及其他内容),我目前正在使用Jade视图引擎执行此操作,但我不喜欢使用Jade视图引擎进行混合一些“数据绑定”和Angular为其他人.

现在,我知道我可以轻松地调用节点中的api端点,该节点将req.user作为JSON返回,但这似乎是一个丑陋的解决方案,因为每次有页面加载时我都会点击该端点(这是不是SPA).

所以我的问题基本上是这样的:我可以在我的Angular视图中获取当前登录的用户,这样我可以完成所有数据绑定客户端而不是某些服务器端(使用Jade视图引擎)和一些客户端使用Angular吗?

注意:没有代码片段,因为一切都按预期工作,我只是希望有一个比我现有的更好的选择.

解决方法

考虑在定义ng-app的DOM上使用“ng-init”,即在Express中打印的服务器端数据(假设为Dust模板).以下是一个简单的例子:

<body ng-app="testApp" ng-controller="homeCtrl" ng-init="logged_in_user = {req.user}">
      <div...
      ...
    </body>

然后你可以访问homeCtrl中的logged_in_user,作为“scope.logged_in_user”
希望这可以帮助..

-Bhaskara

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读