我对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 :(得分:0)
您可以尝试添加以下ACL吗?
"acls": [
{
"principalType": "ROLE",
"principalId": "$everyone",
"permission": "ALLOW",
"accessType": "*",
"property": "create"
}
],
您可以使用以下方法调试应用程序:
DEBUG = loopback:security:* node。