2014-09-11 22 views
1

我對loopback很新。我正在製作我的第一個應用程序,並將我的數據源更改爲MySql。我一個人的模型看起來像這樣如何在Loopback中用mysql正確地擴展用戶

person.json

{ 
    "name": "Person", 
    "plural": "People", 
    "base":"User", 
    "properties": { 
    "firstName": { 
     "type": "string", 
     "required": true 
    }, 
    "lastName": { 
     "type": "string", 
     "required": true 
    }, 
    "username": { 
     "type": "string", 
     "required": true 
    }, 
    "email": { 
     "type": "string", 
     "required": true 
    }, 
    "password": { 
     "type": "string", 
     "required": true 
    } 
    }, 
    "validations": [], 
    "relations": {}, 
    "acls": [ 
    { 
     "principalType": "ROLE", 
     "principalId": "$everyone", 
     "permission": "ALLOW", 
     "accessType": "*" 
    } 
    ], 
    "methods": [] 
} 

datasource.json

{ 
    "db": { 
    "name": "db", 
    "connector": "memory" 
    }, 
    "mysql": { 
    "host": "localhost", 
    "port": 3306, 
    "database": "demo", 
    "username": "demouser", 
    "password": "****", 
    "name": "mysql", 
    "connector": "mysql" 
    } 
} 

模型config.json

{ 
    "_meta": { 
    "sources": [ 
     "../common/models", 
     "./models" 
    ] 
    }, 
    "AccessToken": { 
    "dataSource": "db", 
    "public": false 
    }, 
    "ACL": { 
    "dataSource": "db", 
    "public": false 
    }, 
    "RoleMapping": { 
    "dataSource": "db", 
    "public": false 
    }, 
    "Role": { 
    "dataSource": "db", 
    "public": false 
    }, 
    "Person": { 
    "dataSource": "mysql", 
    "public": true 
    } 
} 

在此之後,當我要創造我個人未經授權我不能創造任何人的任何人。我在mysql中插入了一個條目,並試圖登錄,但沒有運氣。但是當我刪除User作爲person的基礎時,一切正常。但是我失去了從User繼承的所有認證功能。如何正確地使用mysql作爲數據源來擴展User,以便我可以使用Person作爲我的Users? 在此先感謝

回答

0

您可以嘗試添加以下ACL嗎?

"acls": [ 
    { 
     "principalType": "ROLE", 
     "principalId": "$everyone", 
     "permission": "ALLOW", 
     "accessType": "*", 
     "property": "create" 
    } 
    ], 

可以使用調試應用程序:

DEBUG =迴環:安全:*節點。