Pentaho 调用API指定用户赋予角色

工具类:

public class HttpUtils {
	public static String doPutForPentaho (String url, int timeout){
        CloseableHttpClient httpClient =  HttpClients.createDefault();
        try{

            //超时设置
            RequestConfig requestConfig =  RequestConfig.custom().setConnectTimeout(timeout) //连接超时
                    .setConnectionRequestTimeout(timeout)//请求超时
                    .setSocketTimeout(timeout)
                    .setRedirectsEnabled(true)  //允许自动重定向
                    .build();

            HttpPut httpPut  = new HttpPut(url);
            httpPut.setConfig(requestConfig);

            Map<String, String> headers = new HashMap<> ();
            headers.put("Authorization", "Basic " + Base64.encodeBase64String("admin:password".getBytes()));
            for (Map.Entry<String, String> e : headers.entrySet()) {
                httpPut.addHeader(e.getKey(), e.getValue());
            }

            CloseableHttpResponse httpResponse = httpClient.execute(httpPut);
            if(httpResponse.getStatusLine().getStatusCode() == 200){
                return "SUCCESS";
            }

        }catch (Exception e){
            e.printStackTrace();
        }finally {
            try{
                httpClient.close();
            }catch (Exception e){
                e.printStackTrace();
            }
        }

        return null;

    }
}

用例:

	/**
	 * 给用户赋予角色
	 * Administrator
	 * Power User 上传文件角色
	 * Report Author
	 * Business Analyst
	 *
	 * @return
	 */
	public String assignRoleToUser () {
		// 多个角色  加 tab 间隔
		// "roleNames", URLEncoder.encode("Report Author", "UTF-8") + "\\t" + URLEncoder.encode("Power User", "UTF-8")
		String userName = "tom";
		String rlt = HttpUtils.doPutForPentaho(HttpUtils.URL_PREFIX + "/pentaho/api/userroledao/assignRoleToUser?userName=" + userName + "&roleNames="+ URLEncoder.encode("Power User", "UTF-8"), 2000);
		return rlt;
		
	}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值