• 本地开发集成炎黄AWS PAAS插件

    已有aws客户端可以从跳过安装步骤,直接阅读 “使用idea启动AWS平台”

    安装AWS客户端

    Linux版本:https://pan.baidu.com/share/init?surl=q8MB6q1FBHHCe00jnbF22w

    密码:986e

    win版本:https://pan.baidu.com/share/init?surl=vZorhYd-KPxY3SGJY4tR9g

    密码:qhci

    1.解压AWS程序的压缩包

    2.打开文件夹并找到install.bat文件并打开

    3.开始安装aws 程序,根据自己需求安装aws

    4.在数据库配置时,选择自己使用的数据库,输入数据库名时,可以选择已有的数据库(数据库名不能出现特殊字符如:_下划线,-分割线等),也可以在安装时创建数据库,安装时会自动创建和初始化数据库,后面就根据自己的需求一步一步进行就好

    5.安装好aws程序之后打开数据库的orguser表,查看是否出现中文乱码的问题,若出现了中文乱码的问题可以重置数据库,删除所有数据表,在安装安装好的程序目录中找到对应数据库的脚本(我的目录:D:\release\db_script),在数据库中运行就好,

    测试aws是否安装成功

    1.找到安装文件的目录找到文件下的bin目录并打开 2.找到httpd-startup.batstartup.bat程序,依次打开

    3.打开浏览器,在地址栏输入localhost:8088/portal/console

    4.输入admin(用户名)/1(初始密码)完成登录,aws服务在本地安装完成

    使用IDEA启动AWS PAAS 程序

    1.访问https://github.com/haiifenng/AWSIdeaPlugin/blob/master/AWSIdeaPlugin. zip 下载插件 zip

    `

    下载完成后会得到 AWSIdeaPlugin.zip 的压缩包(注意:不需要解压)`

    2.打开 IDEA 开发工具,将 AWSIdeaPlugin.zip 设置到ideaPlugin 中,选 择后会提示重启 IDEA,进行重启即可。

    3.修改平台文件名称,将文件修改成 release(此过程非常重要)

    4.打开开发工具,创建 java 项目 选择 java 项目,JAVAEE

    5.然后下一步,不需要勾选 Createprojectfromtemplate

    6.等待项目加载完毕 7.加载完毕后点击 Tools,然后再次点击 AWSLibrarieag 更新

    8.此刻已将平台 aws_lib 资源创建完毕,接着点击 File-ProjectStructrue , 然后点击 Libraries,会出现 aws_lib,代表资源引入完毕

    9.点击 Modules,选择到 Dependencies,点击加号,选择 library,选择到 aws_lib

    10.最后一步,设置启动脚本

    HZERO平台

    HZERO集成 AWS-PaaS 开发

    http://XXXXXX/portal/r/or?cmd=CLIENT_USER_HOME&oauthName=test&access_token=XXX
    

    其中 cmd 的值可以是访问aws应用端的 cmdoauthName 参数是必须的参数,参数值是注册oauth插件时的名称,

    access_tokenHZERO平台登录的token

    Oauth 插件开发

    public class TestOauth extends AbstractOauth {
    @Override public boolean hasOauthPage() {
        return false; 
    } 
        @Override 
        public String getOauthPage(RequestParams params) {
            return null; 
        } 
        @Override 
        public String validate(RequestParams params) throws IOException {
            return null;
        }
    	@Override 
        public long getCookieTime(UserModel user) {
            return 0; 
        }
    }
    
      public String validate(RequestParams params) throws IOException {
           Map<String,String> map= params.asMap();
           StringBuilder url = new StringBuilder();
           url.append("http://hzeronb.saas.hand-china.com/iam/hzero/v1/users/self");
            for(String key : map.keySet() ){
                if (key.equals("access_token")){
                    url.append("?").append(key).append("=").append(map.get(key));
                }
            }
            String loginName = this.getHzeroUsername(url.toString());//获取hzero账户的用户名
            return loginName;
            }
    

    Oauth 插件注册

    PluginListener 中注册Oauth插件,定义 Oauth 插件名称。 插件名称在hzero访问 AWS PaaS 系统时会用到。

    public class Plugins implements PluginListener {
    	public Plugins() { 
    	} 
        @Override 
        public List<AWSPluginProfile> register(AppContext context) { 
            List<AWSPluginProfile> list = new ArrayList<AWSPluginProfile>();
    //Oauth 插件注册名称为 ‘test’ , TestOauth.class就是上面开发的TestOauth类
            list.add(new OauthPluginProfile("test",TestOauth.class.getName(), ""));
    		return list;
    	}
    }
    

    访问

    http://localhost:8088/portal/r/or?cmd=CLIENT_USER_HOME&oauthName=test&access_token=XXXX
    

    Oauth插件打包

    Oauth插件配置

    1.打开并登录aws paas的控制端(localhost:8088/portal/console)

    2.打开应用管理下的应用开发菜单

    3.打开配置应用

    4.在下拉框中选择AWS Portal门户

    5.进入配置页面,选择监听器

    6.在插件中添加自己写的PluginListener(填写包名.类名)

    Oauth插件测试

    1.在浏览器中打开

    http://localhost:8088/portal/r/or?cmd=CLIENT_USER_HOME&oauthName=test&access_token=XXXX

    2.浏览器向aws发送请求,根据OauthName指向我的写的PluginListener监听器

    3.然后会调用自己书写的TestOauth插件

    4.身份认证成功后

    5.就会直接跳转到aws的应用端界面(跳过登录过程)

    6.身份认证失败,则会弹出认证失败的页面程)

    Hzero平台上配置aws客户端

    1.登录hzero平台,在搜索框中输入“菜单配置” , 进入菜单配置界面

    2.点击右上角的新建按钮,弹出新建菜单,新建左侧导航栏菜单

    3.创建好导航栏根目录之后,创建子菜单

    修改aws应用的配置文件

    aws嵌入到平台上需要的配置,新开页面不需要修改配置文件

    此时需要修改aws应用中的配置文件

    进入aws应用下的\webserver\webappsportal运行文件即可(我的文件目录为D:\release\webserver\webapps\portal

    运行测试