搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
一键难忘520
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
接收第三方系统的附件文件转为MultipartFile对象进行存储_接收第三方文件信息和附件
2
2024年目标检测数据集大合集所有下载地址汇总_仓鼠数据集下载
3
相机系列——透视投影:针孔相机模型_透视投影模型
4
在使用pro-cli来搭建初始化脚手架时出现:“git‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。”_git' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
5
牛客网Java测试题解析_public class hasstatic { private static int x = 10
6
算法数据结构——图的遍历之深度优先搜索算法(Depth First Search)_图的深度优先搜索 试用自己的语言理解图的深度遍历的过程。 并写成下列图的深度遍
7
Unity3D人物移动篇之刚体跳跃重力下落慢的问题_unity中如何修改刚体下落加速度
8
nginx的配置:TLSv1 TLSv1.1 被暴露不安全_nginx 放行tls1
9
select * into 和insert into 备份与插入_select insert into
10
女生当程序员到底行不行?数学149的女学霸,直言男生也没有比我好!_程序员张功
当前位置:
article
> 正文
Jive论坛系统完整分析(1)
作者:一键难忘520 | 2024-07-26 06:58:27
赞
踩
jive论坛
本文来自这里:
http://www.blogjava.net/alex/archive/2006/08/31/66830.html
。
1 Jive
功能需求
Jive 功能需求分析类似于一个新系统的需求分析。只有了解 Jive 系统实现了哪些论坛功能,才能进一步研究和学习它是怎样巧妙、优雅地实现这些功能的。
论坛系统是网络交流的一种主要互动功能系统,如图 3-1 所示。通过论坛系统,用户可以共同就某个话题不断进行讨论,通过发贴功能发布新的话题,通过回贴功能回复别人的话题。 Jive 论坛系统可以允许管理员动态地创建新的论坛、编辑论坛的内容、设置论坛过滤信息以及管理注册用户等。
图 3-1 Jive 用例图
在 Jive 论坛系统中,用户角色和权限是紧密联系在一起的。主要分两大角色:普通用户和管理员,具体的表现形式是通过权限组合来体现的。管理方面的权限有:
·
SYSTEM_ADMIN ,系统管理员,可以管理整个系统。
·
FORUM_ADMIN ,论坛管理员,可以管理某个特定的论坛。
·
USER_ADMIN
和
GROUP_ADMIN
,用户和组管理员,可以管理一些特定用户和用户
组。
论坛的读写权限包括:读权限,创建一个新主题,创建一个新的帖子等。
Jive 中没有明确定义普通用户和管理员角色,而是直接通过以上权限组合和具体用户直接建立联系,并将这种直接联系保存到数据库中。
在权限不是很复杂的情况下,这种没有引入角色的做法比较简单直接。但由于用户和权限直接挂钩,而用户和权限都可能在不断地动态变化,那么它们之间由于联系太直接和紧密,对各自变化形成了限制。所以,对于复杂的权限系统,引入了基于角色的权限系统,这将在以后章节中进一步讨论。
Jive 论坛业务对象主要分为 Forum 、 ForumThread 和 ForumMessage ,它们之间的关系如图 3-2 所示。
每个论坛 Forum 包含一系列 ForumThread (主题),而每个主题都是由很多内容帖子 ForumMessage 组成的,这是一个聚集关系。这 3 种对象中每一个对象都涉及到对象数据的创建、编辑、查询和删除,这些对象数据分别保存在数据库中。这 3 个对象对于不同的角色可操作访问权限是不一样的,只有系统管理员和论坛管理员可以对 Forum 相关数据实行操作,普通用户可以创建或编辑 ForumThread 和 ForumMessage 。
Jive 论坛为了实现不同用户对不同基本对象的不同操作权限,通过设定一个统一的入口,在这个入口将检查客户端每次对数据的操作权限,如图 3-3 所示。
图 3-2 基本对象关系图 图 3-3 入口示意图
客户端每次对数据库的操作,都要经过 ForumFactory 入口进入。在 ForumFactory 中会动态生成一个访问控制代理 ForumFactoryProxy ,通过 ForumFactoryProxy 检查客户端访问方法是否符合整体权限访问控制要求。
下面将从 ForumFactory 作为 Jive 论坛系统分析入手,结合设计模式逐步分解论坛功能的具体实现。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/一键难忘520/article/detail/884057
推荐阅读
article
主流
国产
GPU
产品
及
规格概述(
2023
)_
2023
国产
gpu
...
公司高管团队来自英伟达、AMD、ARM 等知名芯片公司,拥有丰富的
GPU
研究经验,致力于创新面向元计算应用的新一代G...
赞
踩
article
2024
版
最新
中国
AI
大
模型
平台
排行榜
(非常详细)零基础入门到精通
,
收藏这一篇就够了...
这两天在
AI
圈
,
世界人工智能
大
会(W
AI
C)在线上线下持续火热发酵。作为一年一度的
AI
盛事
,
此次
大
会无疑是各
大
AI
厂商秀...
赞
踩
article
【学习】从零
入门
Transformer
_
transformer
零
基础
...
文章目录
Transformer
之前RNN & NLPSeq2SeqSeq2Seq + AttentionTransfor...
赞
踩
article
解决
gitee
文件大小
超过
100MB
——分片
上传
(每片<
100MB
)...
3. 在仓库中创建一个新文件(例如:`large_file.txt`),并将所有子文件的内容依次追加到这个新文件中。Gi...
赞
踩
article
10款值得推荐
的
论坛
系统
源码
...
无论您是一个技术娴熟
的
站长朋友,还是初入互联网并致力于在这片领土发展
的
准站长,或者您只是一个还未毕业
的
学生,在为了毕...
赞
踩
article
halcon
联合
C#
的
实时采集显示_
c#
联合
halcon
clone
();...
第一步:做好
halcon
图像采集算法并将其导出为
C#
代码。打开VS2019选择Windows窗体应用程序并设置命名工程名...
赞
踩
article
K3s
集群
helm
化
改造
之
nginx
_
csdn
流雨声...
背景概况我们的产品应用在应用交付过程中,之前传统的模式下会经历 物理机 -> 虚拟机 -> 容器
化
-> K8s应用
化
...
赞
踩
article
使用
FastAPI
同时搭建
WebSocket
服务端
和
HTTP
服务端
_
fatspi
如何实现websoc...
使用
FastAPI
同时搭建
WebSocket
服务端
和
HTTP
服务端
_
fatspi
如何实现
websocket
fatspi
如...
赞
踩
article
运动
目标
控制
与
自动
追踪
系统(E
题
)--
2023
年全国大学生
电子设计
竞赛试
题
_
2023
电赛e
题
题
目...
2023
年全国大学生
电子设计
竞赛试
题
_
2023
电赛e
题
题
目
2023
电赛e
题
题
目 ...
赞
踩
article
【思维与
学习
方法
总结
】
面试
_
pdd
搜索
2组...
关于行动最近在读《代码整洁之道》中,关于写程序的
方法
,说道每次写修改代码或者阅读代码,都会问自己为什么要这么做。作者会写...
赞
踩
article
我
30
岁
了
,
还能
转行
软件
测试
么?(附从入门到
测试
开发技能图)_
30
岁
转行
做
软件
测试
可以
吗...
全文三千字
,
预计阅读时间十分钟
,
建议先收藏再看。
30
岁
入行有点晚
了
千万不要拿个例去安慰自己
,
30
的你已经没有
了
试错机会。...
赞
踩
article
VIM
使用
系列之一—
配置
VIM
下编程和代码阅读
环境
_
vim
如何
设置
语法检测...
作者:gnuhpc from http://blog.csdn.net/gnuhpc http://gnuhpc.wor...
赞
踩
article
Ineffective
mark
-
compacts
near
heap
limit
Allocati...
1、问题描述:目前在压缩前端代码的时候,出现了node的内存泄漏,错误如下:Ineffective
mark
-compa...
赞
踩
article
AI视屏处理(
C++
)
_
c++
ai
视频
生成
...
opencv读取并保存
视频
m
ai
n(){ int iFrameIndex = 0; cv::VideoCapture...
赞
踩
article
【
微
服务
】
SpringCloud
-
eureka
光速
入门
_
eureka
快速
入门
...
Eureka 是 Netflix 开源的一个
服务
注册和发现工具,主要用于构建分布式系统中的
服务
发现机制。它在 Sprin...
赞
踩
article
29
岁
转行
程序员
?
别想了、
没戏
?
难道现实真就如此残酷
?
_
29
岁
转行
做
程序员
还
来得及
吗...
最近刷到这样一个问题:94 年的
29
岁
了,想
转行
程序员
,还有戏吗
?
看到这个问题下面一大群人张口就来:别想了、
没戏
!我...
赞
踩
article
新
魔百盒
UNT413A
-
S905L3B
-当贝桌面完美线刷
固件
包_
unt413a
短接点...
固件
特点及说明: 1、支持多屏互动功能;2、支持蓝牙遥控器自动配对功能;3、更新:
固件
支持最新产品搭载的无线网卡4、适配...
赞
踩
article
利用
Python
进行
数据分析
(附详细案例)...
学好
Python
不论是就业还是做副业赚钱都不错,但要学会
Python
还是要有一个学习规划。最后给大家分享一份全套...
赞
踩
article
leetcode
动态
规划
系列(求
路径
篇)
_
leetcode
动态
规划
题
路径
条数
是
多少
题
...
LeetCode
动态
规划
系列(求
路径
篇)
_
leetcode
动态
规划
题
路径
条数
是
多少
题
leetcode
动态
规划
题
路径
条数
是
...
赞
踩
article
【
Kali
Linux
高级
渗透
测试
】深入剖析
Kali
Linux
:
高级
渗透
测试
技术
与实践...
高级
渗透
测试
技术
与实践一、
高级
渗透
测试
技术
的探索二、好书推荐2.1 内容简介2.2 作者简介2.3 读者对象2.4 随书...
赞
踩
相关标签
人工智能
数据挖掘
语音识别
Transformer
gitee
php
测试
数据库
c#
开发语言
后端
计算机视觉
halcon
云原生
kubernetes
nginx
fastapi
websocket
http
电子设计大赛
TI
2023电子设计大赛
c语言
学习方法
面试