程序中能实现两种验证吗?

具体讲就是这样

希望我做出的web程序同时能够提供api(通过请求的路径或参数判断),输出json

而调用api时一般都是使用token来验证的

但web程序的验证又是基于cookie的

象这种情况如何处理是好呢?

想过将api另起一套 但感觉有些冗余

用单一入口 作为api的入口(apiController) 在此控制器中解析过来的请求

用service 提供服务 封装ar 提供增删改查的功能 特别是查询功能返回的全部是二维数组了(不能在是AR了) UserService::create(array $userInfo ) UserService::delete($uid) UserService::update($uid,$newInfo) 增删改接口上可以做的比较统一 但查询根据业务需要可能形式较多 而且分页需要仔细处理。

这样在请求时 比如 api/user/latest/count/10.xml api/user/latest/count/10.json 可以路由到UserService::latest($count)方法上 注意结尾的后缀 根据后缀可以返回不同格式的响应 要用URL重写规则 将所有api开头的route全部路由到一个单一action上

这只是我的一些看法 曾经考虑过但没有实现 (提供service还考虑到嵌套模块的问题 如何以一种统一的方式来提供服务是一个要考虑的问题)

如果你最终实现了 请你分析你的做法哦 :lol: