PandaJS 使用说明(1.7):权限控制和数据校验
PandaJS 使用说明(1.7):权限控制与数据校验
利用上一篇文章提到的 proxy 对象,我们还可以实现权限控制和数据校验。
权限控制的思路是截获对 page.* 和 api.* 的调用,并利用 session 中记录的用户角色信息进行权限检查;
数据校验将重用校验代码,在客户端和服务器端对数据进行双重检查。
权限控制
这里以对 page.* 的调用为例。基本思路是:
1. 通过正则表达式 /^page./ 和 /^api./ 匹配需要拦截的方法调用
2. 获取参数中的 req (ServletHttpRequest)
3. 获取 session 中的用户角色
4. 如果用户的角色是 admin ,则显示相应页面;否则显示登陆页面
$(function(){// 其他代码,略function save(action, user) {// 验证 user 数据有效性var validated = validator.validateUser(user);if (!validated.success) {$("#error").html(validated.error).show();return;}// 向服务器端发送请求var req = { action: action, params: validated.data };panda.post(req, show, function(error){$("#error").html(error).show();});}function show(users) { ... }});