我看的到一个J2EE SSH框架项目
用的就是简单的方法
用户输入密码
然后md5,然后再数据库里的密码比较而权限控制则是用字母组合
譬如 abcdefgha对应某个模块A
b对应另一个模块B如果一个用户在数据库里user     perm
lily         ab就说明这个用户有访问A和B的权限这种简单的认证和权限机制是普遍的ssh框架J2EE用的吗?有看到java SSO,但是那是对应多个工程的吧?
对于普通的独立工程需要SSO吗?

解决方案 »

  1.   

    可以看看 Apache Shiro和Spring Security
      

  2.   

    用户认证可以独立的,一般用 jaas 
    权限是和业务结合的  需要自己维护分组和角及其权限
      

  3.   

    http://blog.csdn.net/yangwenxue_admin/article/details/50969453
      

  4.   

    权限详细设计
    作者 编写时间 说明
    李华新 2017.03.23 V1
    一:简称或特殊名词说明
    简称 详细解释
    角色 一组权限总称
    数据源 一组数据总称。例如:平台,订单状态二:模块主要功能概况
    1.限制用户的操作行为
    2.限制用户访问特定数据
    三:需求背景介绍
    1.希望有些用户不能进行一些特定操作。例如:销售不能查看销量,仓库不能查看客户数据。
    2.希望有些用户不能访问一些特性数据。例如:销售只能查看自己管理账号数据,仓库只能查看自己仓库的SKU。
    四:开发详细指导1.定义数据源
    表t_datasouce
    定义数据的来源,通过sqler名称,枚举,xml,接口都可以
    名称 数据类型 说明
    datasource_code Varchar 数据源编码
    datasource_type int 数据源类型 0:数据字典 1:SQL 2:接口 3:xml
    datasource_key Varchar 根据数据源类型的不同,显示不同的值。0: xml dict id 1: sql语句2:spring bean id2.定义权限
    表t_permission
    权限分两种,数据权限和操作权限
    名称 数据类型 说明
    permission_code Varchar 权限编码
    assign_type int 权限使用的地方(1 角色 2 用户)
    parent_id Varchar 上级权限编码
    resource_key varchar(127) 资源key,对应于菜单编码表t_data_permission
    定义数据权限,哪些权限需要配置数据权限
    名称 数据类型 说明
    permission_code Varchar 权限编码
    datasource_code Varchar 数据源编码t_data_permissiont_datasourceportal.order.flow.sqler.xmlt_permission界面
    表t_menu
    定义用户查看的菜单
    名称 数据类型 说明
    menu_code Varchar 菜单编码,与权限编码一致
    parent_id Varchar 上级菜单编码,与权限编码一致
    3.定义角色
    表t_role
    名称 数据类型 说明
    Role_id int 角色id表t_role_permission
    定义角色拥有哪些操作权限
    名称 数据类型 说明
    role_id int 角色id
    permission_code Varchar 数据源编码表t_role_dataper
    定义角色拥有哪些数据权限
    名称 数据类型 说明
    role_id int 角色id
    permission_code Varchar 所有哪个数据下的数据权限
    Data_id Varchar 具体数据id
    4.定义用户
    表t_user
    名称 数据类型 说明
    user_id int 用户id表t_user_role
    定义用户属于哪些角色,即可定义用户该角色的操作权限和数据选项
    名称 数据类型 说明
    user_id int 用户id
    role_id int 角色id
    表t_user_dataper
    定义用户拥有哪些数据权限(一些数据需要安装个人来定义,不能安装角色来定义,比如指定销售管理哪个账号)
    名称 数据类型 说明
    user_id int 用户id
    permission_code Varchar 所有哪个数据下的数据权限
    Data_id Varchar 具体数据idt_permission(assigne_type为用户类型的权限)
    T_data_permission