stackmob中当前登录的用户

时间:2013-05-30 12:07:04

标签: javascript jquery html parse-platform stackmob

我正在尝试获取已登录用户的联系人列表,但我无法弄清楚如何找到当前用户。我从Parse.com知道你使用Parse.User.current()Stackmob有这样的东西吗?

以下代码展示了我正在寻找的东西。

$(window).load(function () {
        var user = StackMob.User;
        var Contacts = StackMob.Model.extend({ schemaName: 'contacts' });
        var myContacts = new Contacts();
        var q = new StackMob.Collection.Query();
        q.equals('sm_owner', user);
        q.orderAsc('FirstName'); //sort by title in ascending order
        q.setRange(0, 9); //get the first 10.  second 10 would be setRange(10,19)
        myContacts.query(q, {
            success: function (model) {
                console.debug(model.toJSON()); //JSON array of matching Todo objects
            },
            error: function (model, response) {
                console.debug(response);
            }
        });
    });

我使用下面的代码得到了我想要的东西但是('sm_owner','user / thomas')有点无用。

$(window).load(function () {            
        var Contacts = StackMob.Model.extend({ schemaName: 'contacts' });
        var myContacts = new Contacts();
        var q = new StackMob.Collection.Query();
        q.equals('sm_owner', 'user/thomas');
        q.orderAsc('FirstName'); //sort by title in ascending order
        q.setRange(0, 9); //get the first 10.  second 10 would be setRange(10,19)
        myContacts.query(q, {
            success: function (model) {
                console.debug(model.toJSON()); //JSON array of matching Todo objects
            },
            error: function (model, response) {
                console.debug(response);
            }
        });
    });

1 个答案:

答案 0 :(得分:1)

听起来你想用StackMob的schema permissions来做这件事。

例如,您可以设置权限,以便您的用户只能阅读他们自己创建的contact个对象。

当用户创建对象时,sm_owner字段将自动设置为当前登录的用户。要利用此功能,您可以设置contacts架构,仅允许用户阅读自己的联系人。这样,当前用户的过滤在服务器端完成,您不必在客户端上专门进行查询。

如何设置:

Go go Schema Configuration and Edit选择你的架构。在架构权限下,为Logged In Permissions -> Allow to sm_ownerReadUpdate选择Delete

现在,当您查询contacts架构时,只返回contact个对象(sm_owner ==当前用户)。然后你可以简单地删除这一行:

q.equals('sm_owner', 'user/thomas');