起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5728|回复: 11

[分享] 后台权限管理的思路

  [复制链接]

28

主题

180

帖子

631

积分

高级会员

Rank: 4

积分
631
QQ
发表于 2017-11-4 20:19:49 | 显示全部楼层 |阅读模式
本帖最后由 zhengcong 于 2017-11-5 19:46 编辑

      wex5没有bex5那么强大的权限控制和流程处理,但是又需要权限的分层,看了看portal的代码,目前准备通过判断不同的用户组在getMenu中加载不同的目录列表来实现功能的划分。但是这个粒度还是比较大的,需要在代码层面对用户组和目录结构进行固定。
      还想到一种就是验证登录的时候将保存在数据库用户分组信息中的权限json文件返回,然后动态生成目录树,但是不知道这个过程会不会被攻击。感觉这两种方式都有缺陷,先做做第一个实验一下,看看请求过程会不会暴露出来问题。主要是担心通过伪装请求获取到高权限的目录。
      权限控制小白,还需要去看看书,看看都是怎么做的。临时抱拂教,先就这么上马吧

###################### 2017年11月5日 09:00 分割线 ##################################
      试了一晚上,还是把目录放在了数据库,登录验证成功返回目录文件,然后进行目录构建


###################### 2017年11月5日 19:33 分割线 ##################################
      已经把权限管理写完了,基本上想法是可行的,可以在用户登录时验证用户分组,然后把分组的目录信息返回到index.w中,动态组织目录树;也可以通过判断返回的目录信息是否为空来设置默认目录树权限。返回的数据在base.js中已经写好了存储方案,都在context中,在index.w中可以直接获取到,很方便。剩下的就是登录的实现部分,要自定义action来写,并且使用PreparedStatement,这样可以防止自动生成的queryAction泄露后台数据库。
      再备注一下页面逻辑,sample-pc3的主函数是base.js,主页面是index.w,index.w继承自base.w,所以index.js可以使用base.js中的方法,并且可以通过监听事件重新定义一些方法。base.js中默认引入了js文件形式的目录,需要修改的就是这个目录。登录页面是base.js通过自定义windowDialog打开的,需要在参数中将使用登录页面设置为true,这样才会在访问index.w时默认打开登录界面。访问index.w时的流程应该是先加载index.w页面和base.w页面,判断是否需要登录,true的话就打开login.w页面覆盖,只有当登录成功时才能关闭login页面,并将登录返回信息传给index.w页面进行首页面的显示,首页面引用的是main.w,在目录中可以找到。

448

主题

1226

帖子

2613

积分

金牌会员

Rank: 6Rank: 6

积分
2613
QQ
发表于 2017-11-16 14:31:57 | 显示全部楼层
亲 有没有代码分享?
回复 支持 反对

使用道具 举报

28

主题

180

帖子

631

积分

高级会员

Rank: 4

积分
631
QQ
 楼主| 发表于 2017-11-30 20:32:10 | 显示全部楼层
zdq 发表于 2017-11-16 14:31
亲 有没有代码分享?

目前没有,还没做完,利益相关,请多包涵。不过思路上面写的很详细了,可以按照思路实现的。项目上线后会分享一下代码。
回复 支持 反对

使用道具 举报

448

主题

1226

帖子

2613

积分

金牌会员

Rank: 6Rank: 6

积分
2613
QQ
发表于 2017-12-1 17:17:55 | 显示全部楼层
zhengcong 发表于 2017-11-30 20:32
目前没有,还没做完,利益相关,请多包涵。不过思路上面写的很详细了,可以按照思路实现的。项目上线后会 ...

谢谢高手前辈
回复 支持 反对

使用道具 举报

10

主题

22

帖子

78

积分

初级会员

Rank: 2

积分
78
QQ
发表于 2018-2-5 10:36:47 | 显示全部楼层
这位仁兄,你还在否。有点问题想请教一下
回复 支持 反对

使用道具 举报

28

主题

180

帖子

631

积分

高级会员

Rank: 4

积分
631
QQ
 楼主| 发表于 2018-2-5 15:39:41 | 显示全部楼层
gh0711 发表于 2018-2-5 10:36
这位仁兄,你还在否。有点问题想请教一下

???
回复 支持 反对

使用道具 举报

10

主题

22

帖子

78

积分

初级会员

Rank: 2

积分
78
QQ
发表于 2018-2-5 15:41:28 | 显示全部楼层

你的后台管理界面设计参考了什么模板吗,可否截图参考一下
回复 支持 反对

使用道具 举报

28

主题

180

帖子

631

积分

高级会员

Rank: 4

积分
631
QQ
 楼主| 发表于 2018-2-5 15:42:11 | 显示全部楼层
gh0711 发表于 2018-2-5 15:41
你的后台管理界面设计参考了什么模板吗,可否截图参考一下

没有参考模板啊,就用的pc-sample3
回复 支持 反对

使用道具 举报

10

主题

22

帖子

78

积分

初级会员

Rank: 2

积分
78
QQ
发表于 2018-2-5 15:46:34 | 显示全部楼层
zhengcong 发表于 2018-2-5 15:42
没有参考模板啊,就用的pc-sample3

这个要怎么使用呀,我也下载了,想把里面的页面改成自己做的页面
回复 支持 反对

使用道具 举报

28

主题

180

帖子

631

积分

高级会员

Rank: 4

积分
631
QQ
 楼主| 发表于 2018-2-5 15:51:20 | 显示全部楼层
gh0711 发表于 2018-2-5 15:46
这个要怎么使用呀,我也下载了,想把里面的页面改成自己做的页面

框架没法改(主要是工作量太大),除非自己导入一个。论坛里面这个是基于amdinLTE的,目前很多都是用的这个。基本上满足需求。内容页面可以自己改,但是就没意义了,用组件做着多快啊,如果组件改动的地方多了容易记不住。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-4-28 01:12 , Processed in 0.073499 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表