jive2.5论坛Cache处理之更新---增加用户权限
来源:互联网 发布:python -m compile 编辑:程序博客网 时间:2024/04/30 04:28
最近有些网友看了jive论坛中的增加用户权限的cache的一些处理过程觉得很迷惑,现将其做一个总结。
jive论坛的权限是分几个级别的:匿名用户,注册用户,具体的用户。匿名用户和注册用户都代表一类的人,而具体的用户则代表注册用户本身,其权限范围上是注册用户的权限包含匿名用户的权限,具体用户的权限包含注册用户的权限。
在jive的权限缓存中,论坛ID等于-1时代表所有论坛的公共权限即全局权限,用户ID等于-1时代表是匿名用户,0时统指注册用户,具体的用户则用其userID表示。
jive增加用户权限时会判断增加的是全局的权限还是某一个论坛的权限,当要添加新用户的权限时,如果该用户为匿名用户或者是注册用户就要删除掉缓存里的所有用户的权限信息,很多人对这点存有疑问,
首先当增加用户的权限时,要在缓存中把对应有改动的用户权限删除,这样在下次用户验证权限时,系统就会从数据库中获取最新的权限信息并放到缓存中,匿名的用户和注册的用户的权限改变了,那所有具体用户的权限也必定跟着改变,因为具体用户的权限是包括匿名用户和注册用户的权限的.
如果增加的是用户组的权限就会把相应论坛的权限的Cache全部的删除,
下面这段是权限管理DbPermissionManager添加用户权限的方法addUserPermission(long userID, int permissionType)中的一段代码:
if (forumID == -1) {
if (userID == -1 || userID == 0) {
factory.cacheManager.userPermsCache.clear();
}
else {
factory.cacheManager.userPermsCache.removeUserPerm(userID);
}
}
//Otherwise, it's just per forum.
else {
if (userID == -1 || userID == 0) {
LongCache permsCache = factory.cacheManager.userPermsCache.get(forumID);
//If cache is turned on, the cache shouldn't be null.
if (permsCache != null) {
permsCache.clear();
}
}
else {
factory.cacheManager.userPermsCache.removeUserPerm(userID, forumID);
}
}
- jive2.5论坛Cache处理之更新---增加用户权限
- sybase 优化 之增加 cache
- 用户权限处理
- CVSNT增加用户权限管理
- CVSNT增加用户权限管理
- Discuz!论坛运营之增加创始人的方法
- jive2.5的DB2部署,解决乱码及中文搜索问题
- MYSQL查看和增加用户权限
- Cache之过: 网页或头像 无法 同步更新
- cognos 用户权限更新到cube
- DZ论坛页面增加摘要
- MYSQL增加用户和修改用户权限
- mysql 创建用户删除用户增加用户权限
- dede5.7教程之增加批量更新文章时间功能
- HTTP 客户端Cache更新
- 数据库之用户权限管理
- ARM学习之协处理(disable cache,mmu)
- JIVE2.1.1 安装
- 测试
- Win2003下Asp配置技巧
- 关于PowerBuilder连接SQL Server数据库的一些问题
- 博客代码大全
- C++ 项目开发组织的小实践
- jive2.5论坛Cache处理之更新---增加用户权限
- 工业过程控制领域中通信
- 【冰点】:重庆“高烧”不退
- Photoshop最常见的问答集
- 设置字体大小和取消链接下划线
- DirectShow使用大全(zz)
- 朝阳情
- 今天好运气,老狼请吃鸡
- Spring中常用事务类型: