开发者社区> 问答> 正文

AOS 现存小BUG - AOS报错

1.菜单搜索功能无效

2.用户、岗位、角色‘页面元素’授权时,左侧权限树应与已‘授权页面’保持一致

3.人员搜索框只能用登录帐号搜索,不能用姓名搜索

4.另外希望能提供一下多数据源操作的配置与代码实例,谢谢。

展开
收起
montos 2020-06-03 10:21:50 472 0
1 条回答
写回答
取消 提交回答
  • 1、那个是功能预留接口,尚未实现。

    2、没看明白你说的意思。

    3、经测试,是正常的。不能再现你的问题。

    4、多数据源只需在aos.core.xml再配置一套对应的Dao就行。如下所示:

    <bean id="dataSource2" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver" />
    <property name="url" value="jdbc:sqlserver://localhost:1433;database=aos" />
    <property name="username" value="sa" />
    <property name="password" value="111111" />
    </bean>
    <bean id="sqlSessionFactory2" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="dataSource2" />
    <property name="typeAliasesPackage" value="cn.osworks.aos;com.mycorp.mysystem" />
    <property name="mapperLocations" value="classpath:**/*Mapper.xml" />
    <property name="configLocation" value="classpath:aos.mybatis.cfg.xml" />
    </bean>
    <bean id="sqlDao2" class="cn.osworks.aos.core.dao.SqlDao">
    <property name="sqlSessionFactory" ref="sqlSessionFactory2" />
    </bean>
    ######

    1.明白 

    2.权限分为‘页面权限’和‘页面元素权限’ 

    管理员A 

    被授权对象B(例如用户、岗位等) 

    在A给B授权‘页面元素’的时候:左侧树应该是B已有的‘页面权限’,而不是管理员A已有的‘页面权限’。 不知道你听明白没

    3.找到原因是因为汉字后台乱码了,我用的tomcat跑的,也许配置一下tomcat就可以了,但是为什么web.xml里面encodingFilter没用?


    4.我贴一下整体代码

    aos.core.xml


    需要新建 cn.osworks.aos.core.annotation.Mapper2

    package cn.osworks.aos.core.annotation;
    
    import java.lang.annotation.Documented;
    import java.lang.annotation.Retention;
    import java.lang.annotation.RetentionPolicy;
    import java.lang.annotation.Target;
    
    import org.springframework.stereotype.Component;
    /**
     * 标识第二数据源Mapper2,方便{@link org.mybatis.spring.mapper.MapperScannerConfigurer}的扫描。 
     * @author MrZhao
     * @version 2015-07-08
     */
    @Retention(RetentionPolicy.RUNTIME)
    @Target({java.lang.annotation.ElementType.TYPE})
    @Documented
    @Component
    public @interface Mapper2 
    {
      public abstract String value() default "";
    } 



    生成新的Map、XML、Po

    新数据源的Map用新的注解

    @Mapper2
    public interface Sys_userMapper {
    
    	/**
    	 * 插入一个数据持久化对象(插入字段为传入PO实体的非空属性)
    	 * <p> 防止DB字段缺省值需要程序中再次赋值
    	 *
    	 * @param sys_userPO
    	 *            要插入的数据持久化对象
    	 * @return 返回影响行数
    	 */
    	int insert(Sys_userPO sys_userPO);
    .....



    最后两种方式测试均通过

    Map方式

      

    salDao方式


    @ OSWorks-XC

    ######看明白你想说的意思了。评估后,不需要调整。首先:这个功能是给有root权限的超级用户和有菜单管理权限(被授予了管理权限)的普通管理员使用。其次:这个功能的逻辑是:用户页面元素授权、岗位页面元素授权、角色页面元素授权,可对什么菜单(页面)上的页面元素授权是由当前登录管理员的管理权限(拥有哪些菜单的管理权限)决定不是被操作人员、被操作岗位、被操作角色决定的。######你还是没完完全理解我说得意思,如果被操作人员没有A菜单(页面)的权限,你给他分配A菜单里面的页面元素权限的意义是什么呢?我说的是在给被操作人员授权页面元素权限的时候,左侧树应该是被操作人员已授权的页面菜单权限。 页面元素权限是依托于页面权限的。如果你没有页面权限,还分配什么页面元素权限。你觉得呢?######

    引用来自“AHei”的评论

    看明白你想说的意思了。评估后,不需要调整。首先:这个功能是给有root权限的超级用户和有菜单管理权限(被授予了管理权限)的普通管理员使用。其次:这个功能的逻辑是:用户页面元素授权、岗位页面元素授权、角色页面元素授权,可对什么菜单(页面)上的页面元素授权是由当前登录管理员的管理权限(拥有哪些菜单的管理权限)决定不是被操作人员、被操作岗位、被操作角色决定的。
    回复 @MrZhaoYun : 我知道你说的意思。那样调整需要分别调整用户与授权-角色与授权-岗位与授权的相应功能都得调整。而按现有模式操作不会带来任何问题,该不该给做某个页面下的页面元素和对应的人员-岗位-角色之间的授权操作由操作人员决定(开发人员或者管理人员。)即便他做了不改做的页面元素授权也无任何印象,且可以先做页面元素授权再做页面授权都是可以有效果的。操作人员可以对哪些页面操作并非全部页面而是这个操作人员被授予管理权限的那些页面(root用户的管理权限是全部页面)。这个以后再根据情况看是否需要调整。######好的
    2020-06-03 10:22:08
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载