如何使用 angular.js 在 strongloop 中获取用户信息

How to get User information in strongloop using angular.js

我尝试了很多方法来使用 strongloop 获取用户 list/functions 并使用 lb-ng 生成 angular.js 服务。每次我尝试获取任何用户功能时,我都会收到一条未授权的消息。

为什么生成的服务文件会包含用户函数,无法从前端调用它。许多文章说这是故意的。这是一个错误还是我做错了?

这是我用来检查重复用户的代码。

angular.module('app')
    .controller('UserCtrl', ['$scope', 'User',
        function ($scope, User) {
            $scope.data = {};
            $scope.verificationSent = false;
            $scope.duplicateUser = false;

            $scope.create = function () {
                User
                    .create($scope.data)
                    .$promise
                    .then(function () {
                        $scope.verificationSent = true;
                        console.log('User %s created successfully!', $scope.data['username']);
                    })
            }

            $scope.usernameExists = function () {
                User
                    .findOne({
                        where: {
                            username: $scope.data['username']
                        }
                    })
                    .$promise
                    .then(function (result) {
                        console.log(result);
                    })
            }

        }
    ])

这是我从前端调用的方式。

<form  class="form-horizontal" name="form" ng-submit="form.$valid && usernameExists()" novalidate>

这是返回的错误。

GET http://0.0.0.0:3000/api/Users/findOne?where=%7B%22username%22:%22test%22%7D 401 (Unauthorized)

也附上截图... 我已经试了很多周了,请帮忙...

strongloop 创建的后端服务需要您在调用中缺少的正确授权。 /Users get 调用配置为拒绝所有请求,如果您想打开它,则必须明确说明这一点。但在执行此操作时要小心,您可能会暴露私人用户凭据,这通常是不受欢迎的。你想要做的是创建一个服务器端调用,检查用户名是否重复并做出相应响应,你可以让每个人都允许这个调用,然后从 Angular 调用它并做你需要的.希望解释清楚。

更新 以下是修改 ACL 的指南:https://docs.strongloop.com/display/public/LB/Controlling+data+access