首页 文章

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

提问于
浏览
0

我已经尝试了很多方法来使用strongloop获取用户列表/函数,并使用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)

附上截图...我现在已经尝试了好几周了,请帮助......

getting the existing user with same username

1 回答

  • 0

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

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

相关问题