自动化的权限控制了解下,3 行代码就可配置每种角色对一张表的增删改查权限。
我们用 APIJSON 来操作一张表,例如用户表 User,代码写 3 行就够了:
//注册表并添加权限,用默认配置
@
MethodAccesspublic class User {
//内容一般仅供表字段说明及 Android App 开发使用,服务端不用的可不写。
}
//Verifier 内添加权限
accessMap.put(User.class.getSimpleName(), getAccessMap(User.class.getAnnotation(MethodAccess.class)));
然后运行下 Server 工程就可以请求了:
URL:
http://apijson.cn:8080/get表单:
{
"User": {
"id": 82001
}
}
返回:
{
"User": {
"id": 82001,
"sex": 0,
"name": "Test",
"tag": "APIJSON User",
"head": "
http://static.oschina.net/uploads/user/19/39085_50.jpg",
"contactIdList": [
82004,
82021,
70793
],
"pictureList": [
"
http://common.cnblogs.com/images/icon_weibo_24.png"
],
"date": "2017-02-01 19:21:50.0"
},
"code": 200,
"msg": "success"
}
或者可以再定制下 POST 请求的角色权限:
//只允许未登录角色和管理员角色新增 User,默认配置是{UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}
@
MethodAccess(
GET = {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}
)
public class User {}
再直接像上面那样请求就会报错:
{
"User": {
"id": 82001
},
"tag": "User",
"code": 407,
"msg": "未登录,请登录后再操作!"
}
登录后就和上面一样返回正确的结果。
不用写代码 APIJSON 3.5K Star 超第 2 大 ORM 库 Hibernate
https://www.v2ex.com/t/507671#reply7