CSDN的权限控制和消息推送

执笔记忆的空白
博客专家认证
2015-08-24 03:17:37
加精
近期在研究权限控制和消息推送的问题,遂想到CSDN刚好有这类操作,所以发帖问问

1、权限控制
大家都知道你可以查看一个帖子,甚至可以查看管理菜单,但是当你点击推荐该贴或者移动 的时候,提示你无权限
我想问的是:这个权限是怎么控制的呢? 配置功能权限? 还是精确到数据权限?
如果是精确到数据权限,那么是通过配置用户数据,通过数据表数据来实现的么? 求一个解决思路(通过菜单、功能、数据表来操作的就算了)

权限分三类:菜单、功能、数据
菜单权限的话太过于简单,对于某些需要深入控制的肯定不行,现在就是要实现数据权限。
之前接触到的权限控制都是通过菜单、功能、数据表来实现,但是每个用户配置权限动辄上千条数据,这样加载起来特别慢,考虑到用缓存起来,然后定期去更新一次,但是对于这种频繁登录的,估计就很烦了

CSDN登录挺快,应该也有服务器的作用,我们公司估计很难在硬件方面做手脚了,想请求快一点的话,只能考虑其他方面
所以我在想,权限控制的话,是不是还有其他方式

我考虑过,现有的权限就是通过上面的方式控制的,如果不改这种实现方式,通过其他方面加快访问速度的话,短时间内也是没有问题的,那就需要对项目动手术的。下面是大概方向,但是我还是希望能有其他方式,最好彻底改掉这种权限控制方式

比如:Java分布式集群缓存框架,业务DB切分(分历史库和实时库)等等


2、消息推送
CSDN的消息推送是通过什么实现的呢? webSocket? 还是comet即时通信,这个有待考虑



其实我的主要问题是权限控制,希望大牛们不吝赐教,我等等候多时了....
...全文
2201 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
w1530520334 2016-06-06
  • 打赏
  • 举报
回复
学习 最近公司也要搞消息啥的 有详细的学习资料 请楼主发一份 谢谢 , 我感觉消息 就像一个请求 可能不是每一秒去求情的 但是 我觉得分为三种 1 浏览器加载请求一次 2 定期 3 特殊事件 例如 最上面的 闹钟 我看他是 鼠标放上去 然后 他就请求数据 然后 返回的消息吗 可能我说的不对。 但是身为小屌丝的我 觉得是这样子的
熊哥club 2015-11-04
  • 打赏
  • 举报
回复
学习一下。。。。。
迷林 2015-09-01
  • 打赏
  • 举报
回复
引用 3 楼 shijing266 的回复:
[quote=引用 1 楼 defonds 的回复:] 三种权限设计方案的比较: 1.等级权限系统 2.范围限制权限系统 3.范围限制单项权限系统 http://blog.csdn.net/defonds/article/details/4275529
这三种倒是能合理的解释CSDN的权限分配了 ,梯度3倒是挺合适现在的跨度,这样的话单用户的权限数据会不会也很大.. [/quote] TMD 你真小气,就给我一分
sessinsong 2015-08-31
  • 打赏
  • 举报
回复
学习, 刚好对这方面不怎么了解
Cx_轩 2015-08-31
  • 打赏
  • 举报
回复
小屌丝大牛,你搞着全英文的看的我头疼。。。
qq_21473801 2015-08-31
  • 打赏
  • 举报
回复
小屌丝大牛,你搞着全英文的看的我头疼。。。
伊顺鸣 2015-08-30
  • 打赏
  • 举报
回复
不错的,来学习呢。。
atjl 2015-08-26
  • 打赏
  • 举报
回复
引用 14 楼 shijing266 的回复:
[quote=引用 13 楼 gukuitian 的回复:] webSocket肯定是很大的增加服务器的压力,B/S的优势就看不到了. 但这种长轮询细看一下,其实也是一直在拉着服务器的资源不放,对浏览器来说,它一直在请求服务器, 虽然对服务器来说,也有小小的间隔.
我是觉得,如果我要弄消息推送,可能会选择websocket 来实现了[/quote] websocket各浏览器支持情况不统一,ie更是10以后才支持 server端可以用nio,aio或node.js,应对高负载
tony4geek 2015-08-26
  • 打赏
  • 举报
回复
引用 16 楼 qq_25409579 的回复:
我是上星期看到一本书,然后知道了有这么一个人,权限管理系统比较在行~不知道能否用得上~ 这个人叫:吉日嘎拉 不过现在网上搜不到免费源码的Web部分
他在杭州。
fudapeng7 2015-08-26
  • 打赏
  • 举报
回复
我是上星期看到一本书,然后知道了有这么一个人,权限管理系统比较在行~不知道能否用得上~ 这个人叫:吉日嘎拉 不过现在网上搜不到免费源码的Web部分
  • 打赏
  • 举报
回复
引用 20 楼 gagewang1 的回复:
csdn信息推送,轮询方式。实时要求高的就长链接。 菜单、功能权限相对简单。数据权限看业务情况,复杂的数据权限简直要人命。 一般的做法 1.在功能权限上有个“是否判断数据权限”的标志, 2.数据权限表 id 权限名 数据范围 //不同的功能,数据范围的划定可能相差很多。有的按部门,有的按级别。这个就自定义
我们现在的权限系统很复杂,有两个方向: 1、机构-角色-权限-菜单-功能(这是机构的权限) 2、机构-用户-职务-权限-菜单-功能(这是用户的权限) 主要这还只是细化到功能权限,我难以想象细化到数据权限会多蛋疼
中华雪碧 2015-08-26
  • 打赏
  • 举报
回复
csdn信息推送,轮询方式。实时要求高的就长链接。 菜单、功能权限相对简单。数据权限看业务情况,复杂的数据权限简直要人命。 一般的做法 1.在功能权限上有个“是否判断数据权限”的标志, 2.数据权限表 id 权限名 数据范围 //不同的功能,数据范围的划定可能相差很多。有的按部门,有的按级别。这个就自定义
钻石丶青春 2015-08-26
  • 打赏
  • 举报
回复
用NODE.JS对消息请求进行监听
fudapeng7 2015-08-26
  • 打赏
  • 举报
回复
引用 17 楼 rui888 的回复:
[quote=引用 16 楼 qq_25409579 的回复:] 我是上星期看到一本书,然后知道了有这么一个人,权限管理系统比较在行~不知道能否用得上~ 这个人叫:吉日嘎拉 不过现在网上搜不到免费源码的Web部分
他在杭州。[/quote] 就是了,不过是专心搞.net的
  • 打赏
  • 举报
回复
引用 7 楼 rui888 的回复:
wiki cometd What are Long-Polling, Websockets, Server-Sent Events (SSE) and Comet 这里例子 HTML5 chat application using WebSockets to connect to a Java back-end.
小屌丝大牛,你搞着全英文的看的我头疼。。。
  • 打赏
  • 举报
回复
引用 13 楼 gukuitian 的回复:
webSocket肯定是很大的增加服务器的压力,B/S的优势就看不到了. 但这种长轮询细看一下,其实也是一直在拉着服务器的资源不放,对浏览器来说,它一直在请求服务器, 虽然对服务器来说,也有小小的间隔.
我是觉得,如果我要弄消息推送,可能会选择websocket 来实现了
gukuitian 2015-08-25
  • 打赏
  • 举报
回复
webSocket肯定是很大的增加服务器的压力,B/S的优势就看不到了. 但这种长轮询细看一下,其实也是一直在拉着服务器的资源不放,对浏览器来说,它一直在请求服务器, 虽然对服务器来说,也有小小的间隔.
gukuitian 2015-08-25
  • 打赏
  • 举报
回复
引用 11 楼 shijing266 的回复:
[quote=引用 10 楼 gukuitian 的回复:] CSDN的消息就是一个长轮询,没什么特别的地方 webSocket这东西对于B/S系统来说,压力太大,用户少的管理系统可能用一用,再有就是HTML5游戏用这个比较方便, 对开放的网站来说,不可能用它的.
长轮询? 定期更新去查?[/quote] 比如 1,发请一个请求, 设置请求的超时时间是30秒, 2,服务器接到请求,有新的通知,则返回通知,请求结束 ,浏览器再重发新的请求 3,服务器接到请求,没有新的消息,保留这个会话,等到有消息来,或者到了超时时间 大概就是这意思了..
  • 打赏
  • 举报
回复
引用 10 楼 gukuitian 的回复:
CSDN的消息就是一个长轮询,没什么特别的地方 webSocket这东西对于B/S系统来说,压力太大,用户少的管理系统可能用一用,再有就是HTML5游戏用这个比较方便, 对开放的网站来说,不可能用它的.
长轮询? 定期更新去查?
gukuitian 2015-08-25
  • 打赏
  • 举报
回复
CSDN的消息就是一个长轮询,没什么特别的地方 webSocket这东西对于B/S系统来说,压力太大,用户少的管理系统可能用一用,再有就是HTML5游戏用这个比较方便, 对开放的网站来说,不可能用它的.
加载更多回复(8)

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧