EasyOA 基于SSM的实现 Controller层实现

首先要想明白怎么去控制页面跳转 具体规则如下
1.用户登陆网站的时候,是webapps下父文件夹的index.jsp 然后 index.jsp请求服务器 获取页面参数 然后跳转到首页页面 此时需要权限控制的是.用户没有登陆,可以访问主站,但是不可以访问 管理员界面,也就是说,管理员界面默认在用户不是管理员同时没登陆的情况下不可出现
2.当管理员登陆的时候,会在上方多选菜单出现管理员登陆窗口,管理员可从这个窗口登陆,同时,也可以使用单独的窗口登陆,也就是说需要放行两个窗口
增加配置文件 spring-security.xml




    

    
    
    
    
    
    
        
        

        
        

        
        

        
        

    

    
    
        
            

        
    

    
    


修改了IUserDao 增加方法

    /**
     * 根据名字查询管理员
     * @param username 需要查询的管理员
     * @return 返回user对象
     */
    @Select("select  id,username,password,regtime,email,address,headImg from eoa_user where username =#{username}")
    UserInfo findByUsername(String username);

修改 IUserService

public interface IUserService extends UserDetailsService {}

修改 UserServiceImpl

    @Override
    public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {

        UserInfo userInfo = userDao.findByUsername(username);
        User user = new User(userInfo.getUsername(),userInfo.getPassword(),getAuthority(userInfo));
        return user;
    }

    /**
     * 返回list集合 封装了权限
     * @return
     */
    public List getAuthority(UserInfo userInfo){
        List list = new ArrayList<> ();
        for (Role role : userInfo.getUserRoleList()){
            list.add(new SimpleGrantedAuthority(role.getRoleName()));
        }
        return list;
    }

修改User为UserInfo

完蛋了,我觉得我有设计的出现问题了,可能大神觉得这么样也能做出来.但是我现在就卡在这里了,不过已经解决了,假如多个文件路径 可以如下配置 spring-mvc.xml
    
    
        
        
        
        
    

    
    
        
        
        
        
    

但是依旧是挂了,因为只能有一个 bean 对象

你可能感兴趣的:(EasyOA 基于SSM的实现 Controller层实现)