正使用Struts+JSP+MySQL开发一个实验室管理系统。分为简介、新闻、招生、论坛、科研、后台管理等多个模块。现主要考虑用户登录,包括其权限的问题。考虑使用 用户、角色、权限三者实现对用户权限的控制。用户和权限通过角色相连。例如:新闻管理员角色下所有用户有发表、修改、删除、查看新闻的权限,当然这些用户也可以属于其他角色,拥有其他权限。
1.权限设计问题。
  权限一般怎样设计?比如:新闻管理员拥有发表、修改、删除、查看新闻的权限,这些权限怎样表现?怎样记录到权限数据库中?
2.用户id在各个页面中传递问题。
  按我的理解,在用户登录以后,用户id在各个页面都应能得到,如何在各页面轻易得到?(利用action传参数只能将参数传到下一个页面)
3.利用用户id获得该用户所属角色,所拥有的权限并表现在页面上。
  希望在用户权限管理处有一个对外接口,任何页面都只需访问这个接口就能通过用户Id得到该登录用户所有权限,该如何实现?

解决方案 »

  1.   

    用Spring 吗?,用spring 你可以去google spring-security的用法,很简单的。
    不用spring,你就自己用Struts2的Interceptor,自己写实现类,实现,
    再都不用,干脆自己定义权限,还灵活写
      

  2.   

    厄。。没用spring。自己定义权限怎样定义啊?稍微举下例,谢谢
      

  3.   

    4个实体类,对应4张表,
    user表
    role表,
    userrole表   user与role关联的中间表
    privilege表
    roleprivilege表  role与privilege关联的中间表,在业务里面,自己控制访问权限,每个业务访问之前,做一个授权处理够详细了把。
      

  4.   

    简单点就自己写Interceptor
    想强大点就Spring Security3