急啊~高手们救命啊

解决方案 »

  1.   

    Seam 的权限还不好控制啊?不过要从头开始弄有点烦。
      

  2.   

    这不是一个实例了,这是一整套工程了,配置、类、页面等等。自己去看 seam 文档吧。
      

  3.   

    1:Entity 类,建五张表:User, Role, Permission, UserPermission, RolePermissiona. User 类在登录名属性上标注 @UserPrincipal
    在密码上标注 @UserPassword(hash = "none")。hash = "none" 表示密码以明文方面存到数据表中。User 的角色关联上标注 @UserRoles
    User 是否有效的属性上标注 @UserEnabledb. Role 类
    在角色名上标注 @RoleNamec. UserPermission 类
    在 target 属性上标注 @PermissionTarget
    在 action 属性上标注 @PermissionAction
    在 username 属性上标注 @PermissionUserd. RolePermission 类的 target 和 action 与 UserPermission 一样标注,在 rolename 属性上标注 @PermissionRole2. WEB-INF/component.xml 中配置:security:rule-based-permission-resolver
    security:identity-manager 的 identity-store="#{jpaIdentityStore}"
    security:jpa-identity-store
    security:jpa-permission-store这几个元素。Seam 中的权限是采用 JAAS 管理的,如果不理解的话你急也没有用。
      

  4.   


    我认为 jboss seam 的 reference 说得更详细!
      

  5.   

    [email protected] 麻烦把你那个详细文档给我啊,我现在看的这个不怎么好使。
    另外,add(role)之后,我就不明白,程序是怎么去识别role拥有或可使用哪些功能点的。火龙能说说吗?
      

  6.   

    Seam 的发布包 doc 下就有!程序怎么可能识别,程序是要你自己去写的
      

  7.   

    程序中你可以使用 Identity.instance().hasRole("xxxx"); 或者 Identity.instance().hasPermission("xxxx"); 来查看当前用户是否拥有某种角色或者权限。页面上就用 #{s:hasRole('xxx')} 或者 #{s:hasPermission('xxx')} 来做相同的判断。
      

  8.   

    User 与 Role 建立 @ManyToMany 的双向关联,使用 USER_ROLE 表做中间关联。其他表:UserPermission, RolePermission, Permission 就没什么关联的了。
      

  9.   

    1,Permission这张表是啥属性啊?
    2,因为我的密码是要MD5加密后存进数据库的,所以@UserPassword(hash = "none")可否不加?
    看了你的说明有头绪了,膜拜ing~~
      

  10.   


    1:Permission 表示权限,主要含有 target 和 action 属性
    2:md5 的话,改成这样:@UserPassword(hash = "md5")
      

  11.   

    火龙能解释下target放的是什么东西吗?因为我的表结构跟你的不一样~会不会是放的功能菜单名字?