新手被权限问题搞疯了~~~help

这是一个小型的系统,由于老板决定采用“页面与用户”匹配的做法,小弟几乎都要发疯了。

每个页面都有一个 pageid 或者说是 url,每个用户都有 userid。

现在建立一个关系表存放 pageid 与 userid 的关系。在每个 page 里面 include 一份 userid 列表,只要访问者的 userid 不在此列表中,访问就被禁止。

现在大约有500~1000个页面,150个用户,考虑到用户表可能存在增删,page 也可能存在增加(用代码生成器创建的新页面),这个 pageid 与 userid 的关系小弟不知道怎样描述了。

如果按老板的这种需求,我应该怎样做?
如果有更好的权限做法,那应该怎样?

刚好上个月做了个简单点的权限方面的,希望可以帮到你,思路如下:
1.先设置好角色和功能,以及角色功能的关系表
2.用户登陆后,根据用户被赋予的角色得到相关的功能,然后加载功能菜单
3.当访问一个URL时,取访问的URL然后与用户的功能菜单里的URL对比,即可知道是否有权限访问该页面了
不清楚的话,就发系统消息给我,我给你发文档。

pageid ??
userid ??

如果是这样的,你的系统应该在生成页面的时候指定相关的用户和权限

一个很笨的方法~

权限的无法得到聚合管理~

最好在userid 上面再划分一个 roleid

pageid 看能不能按照模块 也再划分一个 moduleid

这样聚合管理可能会好一点

不用包含userid列表,用过滤器就可以解决验证问题
使用request.getRequestURI(),可以获得用户请求的地址

至于表设计,可以参考RBAC模型,具体看复杂情况

完整的应该是
用户 many-to-many 角色 many-to-many 权限 many-to-many 资源(就是你的URL)

如果角色太负责,可以适当删减,比如 用户 many-to-many 权限 many-to-many 资源