CNode

用node.js写restful接口,接口的访问权限问题

问答
Wwocaatm发布于9 年前最后回复7 年前15 回复8633 浏览0 收藏

node.js写api,api的权限要不要加,如果要加的话怎么加?

查看回复

回复 (15)

S
shiqiliang#1·9 年前

用的什么框架,也要写API

Z
zhanzhenzhen#2·9 年前

其实个人以为只要?username=xxx&password=xxx,再用上https即可。token很费事。

S
stonephp#3·9 年前

参考我的 https://github.com/open-node/open-rest 里的样板工程,权限验证做成一系列的小函数,控制器里灵活的组合这些小函数,这样每个函数足够简单,组合以后功能足够强大。

F
foolmath#4·9 年前

jwt

F
feifanyajun#5·9 年前
引用 wocaatm自己评论一发

@wocaatm en

N
Nicksapp#7·9 年前

https://cnodejs.org/topic/58c1477b06dbd608756d0bca 可以参考我的这篇关于RESTfulApi权限实践

W
wocaatm#8·9 年前

自己评论一发

S
sooxie#9·9 年前
引用 wocaatm自己评论一发

@wocaatm 路由加个中间件,判断下条件能否让其访问

Z
zsea#10·9 年前

看你需求了,不过一般要加!加的话就是自己加了

Q
qimenxiaozi#11·9 年前

看cnodejs服务器的源码 From Noder

Y
yujintang#12·9 年前

其实最简单的办法就是去判断url, 什么url需要验证,什么的不需要,比如我这个设置需要验证url的都统一url上面有一个 /auth_ 标示,对于这类url,则去判断登录状态

/**
 * auth 中间件,所有需要验证路由,必须有 '/auth_'
 * @param ctx
 * @param next
 */
module.exports = async (ctx, next) => {

    try {
        let route = ctx.originalUrl;
        let reg = /\/auth_/;
        if(reg.test(route)){
            if(!ctx.session.user){
                throw new Error('请先登录')
            }
        }
        await next();
    } catch (e) {
        ctx.status = 401;
        ctx.body = e.message
    }
};

整个项目地址,可以看这个:https://github.com/yujintang/koa2-server

C
cnlile#13·9 年前

推荐swagger-tools , 呵呵

J
jkjk77#14·9 年前

可以 写一个 yml 文件, 写出 每个角色所属权限, 使用中间件判断

H
hsluoyz#15·7 年前
参与回复
登录后即可参与回复。登录