bmybbs / PrototypeDevManagement

1 stars 1 forks source link

登录逻辑 #3

Closed IronBlood closed 10 years ago

IronBlood commented 10 years ago

@Liu-Ameng @Logosxxw

这里有一个登录方面的逻辑,分别是前后台的,两位来讨论评审一下:

前端

newbmy-login-flowchart

后端

bmy-api-login

Liu-Ameng commented 10 years ago

恩。。可以判断这个用户是否已经登录过么?

--喔,看了一下前段没问题了。

IronBlood commented 10 years ago

是的。在 nju09 里,是依据session找用户,再对比ip。 因为客户端的 ip 可能会变,所以我考虑本地除了保存 session 以外,再保存一个 token。校验的时候采用 session + token + appkey 的方式。同时这样对 nju09 没有影响。

除了 api 实现外,bmybbs utmp 结构里也是要增加对应字段的。

Logosxxw commented 10 years ago

ok 后端是打算用什么语言,如果都写成ajax的话前后的配合就多了

IronBlood commented 10 years ago

@Logosxxw 我们后端继续使用 C,输出给你的是 JSON 数据。接口格式我还没有固定下来,不过至少会包含 响应码数据实体 等信息吧。

你对其他 api 了解不?通用的数据部分我这里是不是考虑太少了?前期开发,这部分应该ok了吧?

Logosxxw commented 10 years ago

第一次听说用C写服务端,好高端。 之前做过一个项目用的是fliker的api,不过感觉没什么印象了。。

IronBlood commented 10 years ago

@Logosxxw 其实原理很 easy,和 python / ruby 没什么差别。只是不像其他语言包含了丰富的字符串实现,用 C 实现的时候需要自己来干一些事情。

api 的话,那要不我们边做边改,任何变更都记录在 Issue 里头,然后 assign 通知你。

IronBlood commented 10 years ago

用户成功登录,api 会返回如下字段:

其中 Token 将用于每一个 HTTP POST,调用开始前对 Token 加锁,判断是否有效,无论事务处理是否成功都将更新 Token,并返回给客户端,以此防范 CSRF 攻击。

IronBlood commented 10 years ago

web 登录页尚有跳转 app 页面没有完成。