首页 > 代码库 > 049医疗项目-模块五:权限设置-第三方系统的接入

049医疗项目-模块五:权限设置-第三方系统的接入

 

我们先演示要实现的功能:

单击:

技术分享

我们看着有三个子模块:

点击模块管理:

技术分享

在模块管理中,我们可以设置一共有几个模块,每个模块里面有哪些具体的操作等。

 

角色管理:

技术分享

给角色分配权限。

 

 

 

好,我们接下来看具体的实现:

我们先把第三方系统引入到工程中:

import工程。

然后修改sysconfig,和sysmanager系统中的/WEB-INF/proxool.xml文件

接着

技术分享

然后重启Tomcat.

 

 

 

然后修改代码:

我们增加下面连个Action层:其实我们的第三方系统的实现原理就是我们从自己的项目中的Acion进入然后进入到第三方系统中:

 

技术分享

 

 

 我们看一下SysConfigAcion.java:

package yycg.base.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import yycg.base.pojo.vo.ActiveUser;
import yycg.base.process.context.Config;
import yycg.util.ResourcesUtil;
import yycg.util.Vcom_3DES;

@Controller 
@RequestMapping("/sysconfig")
public class SysConfigAction {
    
    //生成加密串
    private String buildString(String userid,String pwd)throws Exception{
        //从配置文件获取密钥
        String key= ResourcesUtil.getValue(Config.SYSCONFIG, "deskey");
    
        //待加密串
        String oldstring = userid + "#" + pwd + "#" + System.currentTimeMillis();
        System.out.println("原始串="+oldstring);
        //进行3des加密,1表示加密,key:密钥
        Vcom_3DES tempDesEn = new Vcom_3DES(1, oldstring,
                key);
        //加密后的串
        String strTemp = tempDesEn.Vcom3DESChiper();
        return strTemp;
    }

    //sysmanagerurl_modulelist=http://localhost:8080/sysmanager/module/show.do?loginkeyString=
    /**
     * 模块操作管理
     */
    @RequestMapping("/modulelist")
    public String modulelist(HttpServletRequest request)throws Exception{
        HttpSession session = request.getSession();
        
        ActiveUser activeUser = (ActiveUser)session.getAttribute(Config.ACTIVEUSER_KEY);
        String userid = activeUser.getUserid();
        
        //生成加密串
        String strTemp=buildString(userid,"test");

        //组织接口址
        //从配置文件获取接口址
        //获取模块管理的接口址
        String module_url = ResourcesUtil.getValue(Config.SYSCONFIG, "sysmanagerurl_modulelist");
        
        //将加密后的串追加到接口址后
        String url  = module_url+strTemp;
        return View.redirect(url);//转到第三方系统
    }
    
    //角色管理sysmanagerurl_rolelist=http://localhost:8080/sysmanager/role/show.do?loginkeyString=
    /**
     * 角色管理
     */
    @RequestMapping("/rolelist")
    public String rolelist(HttpServletRequest request)throws Exception{
        HttpSession session = request.getSession();
        
        ActiveUser activeUser = (ActiveUser)session.getAttribute(Config.ACTIVEUSER_KEY);
        String userid = activeUser.getUserid();
        //生成加密串
        String strTemp=buildString(userid,"test");

        //组织接口址
        //从配置文件获取接口址
        //获取模块管理的接口址
        String rolelist_url = ResourcesUtil.getValue(Config.SYSCONFIG, "sysmanagerurl_rolelist");
        
        //将加密后的串追加到接口址后
        String url  = rolelist_url+strTemp;
        return View.redirect(url);//转到第三方系统
    }
    
    //系统参数配置sysconfigurl_basicinfo=http://localhost:8080/sysconfig/admin/findBasicinfoList.action?loginkeyString=
    /**
     * 系统参数配置
     */
    @RequestMapping("/basicinfo")
    public String basicinfo(HttpServletRequest request)throws Exception{
        HttpSession session = request.getSession();
        
        ActiveUser activeUser = (ActiveUser)session.getAttribute(Config.ACTIVEUSER_KEY);
        String userid = activeUser.getUserid();
        //生成加密串
        String strTemp=buildString(userid,"test");

        //组织接口址
        //从配置文件获取接口址
        //获取模块管理的接口址
        String basicinfo_url = ResourcesUtil.getValue(Config.SYSCONFIG, "sysconfigurl_basicinfo");
        
        //将加密后的串追加到接口址后
        String url  = basicinfo_url+strTemp;
        return View.redirect(url);//转到第三方系统
    }
}

 

 我们在看一下:View.java:

package yycg.base.action;

import yycg.base.process.context.Config;

/**
 * controller视图处理公用方法类
 * 
 * @author mrt
 * 
 */
public class View {

    /**
     * 通用的成功jsp页面文件名
     */
    public static final String SUCCESS = "success";
    /**
     * 通用的失败jsp页面文件名
     */
    public static final String ERROR = "error";

    /**
     * 返回base模块jsp路径方法,其它模块可照此添加
     * 
     * @param page
     *            jsp文件名
     * @return
     */
    public static String toBase(String page) {
        return Config.PAGE_PATH_BASE + page;
    }
    
    /**
     * 返回业务模块jsp路径方法,其它模块可照此添加
     * 
     * @param page
     *            jsp文件名
     * @return
     */
    public static String toBusiness(String page) {
        return Config.PAGE_PATH_BUSINESS + page;
    }

    /**
     * action返回成功页面方法
     * 
     * @return
     */
    public static String toSuccess() {
        return Config.PAGE_PATH_BASE + SUCCESS;
    }

    /**
     * action返回操作失败页面方法
     * 
     * @return
     */
    public static String toError() {
        return Config.PAGE_PATH_BASE + ERROR;
    }
    
        
    /**
     * action以redirect方式重定向到自定义url
     * 
     * @param url
     * @return
     */
    public static String redirect(String url) {
        return "redirect:" + url;
    }

    /**
     * action以forward方式定向到自定义页面
     * 
     * @param url
     * @return
     */
    public static String forward(String url) {
        return "forward:" + url;
    }

    

}

最后我们看一下,页面怎么写。

我们知道我们的左侧菜单都是在meanu.json里面的写的,这次也是一样:

menu.json如下:

 

 


                 {"icon" : "icon-sys","menuid" : "1","menuname" : "第三方系统","url" : "","menus" : [
                 {"icon" : "icon-log","menuid" : "1_1","menuname" : "模块管理","url" : "/yycgproject/sysconfig/modulelist.action"
                 },
                 {"icon" : "icon-log","menuid" : "1_1","menuname" : "角色管理","url" : "/yycgproject/sysconfig/rolelist.action"
                 },
                 {"icon" : "icon-log","menuid" : "1_1","menuname" : "系统参数管理","url" : "/yycgproject/sysconfig/basicinfo.action"
                 }
                 ] 
               },
               
             

 

 

这样子我们就实现了上面的功能了。因为这两个第三方空间都是从源系统中拷贝出来的,所有都编辑好了,不需要我们去编辑。

 

 

下面的文章要实现的功能是:根据用户显示不同的菜单。用户不用,显示的菜单不同。

 

049医疗项目-模块五:权限设置-第三方系统的接入