你在session_t里面加入了新的字段userlevel?
kbs web的session控制相当的复杂,你这样做肯定是不行的,哪怕用进程模型也不行。
要搞清楚这一系列问题需要把php库代码整个读一遍然后得明白页面执行过程。
你就说你想达到什么目的,我来帮你看看应该怎么实现。
【 在 loseweigh (鹭鸶尾) 的大作中提到: 】
: php没做任何改动
: 因为在session_t中加入了userlevel字段,并且以下三个判断权限的函数
: libBBS/site.c : check_read_perm()
: libBBS/site.c : check_see_perm()
: src/boards.c : has_post_perm()
: 接口部分由2个参数变成3个(加入const session_t *session),与userec中的
: userlevel共同决定权限,相当于一个权限可以通过永久授权获得,也可以在登陆
: 时视Session上下文(如登录IP,身份认证令牌等)获得。因此,phplib中相应的接
: 口有所改变。
: 以上的改动大体属于telnet范畴,经过测试是完全可行的。
: 但是,同样在控制登录部分的
: lib/bbslib.c : www_user_login()
: 中加入
: getSession()->userlevel |= PERM_XXXXXX;
: 无论在这个函数的哪个位置加入,在Web下都会有contention发生,getSession()->
: userlevel完全失控,有时能得到PERM_XXXXXX有时得不到, 这个命中率ms和语句的
: 位置还有那么点关系-__-!
: 这些天为看到版面,狂练鼠标点击,卡基卡及,真是酷毙了 ;P
--
修改:atppp FROM 59.66.77.*
FROM 59.66.77.*