开发步骤
- 实现
AbstractSecurityProcessor抽象类 - 用
SecurityProcessorProfile描述这个插件,注册到该应用的PluginListener类(见本文档插件应用 > PluginListener章节) - 修改
AWS PaaS平台 > 安全处理机制(SecurityProcessorId)参数值为步骤2中注册名 - 场景模拟,调试
 
注意:本章节提供的相关接口说明,请以aws-api-doc为主。
插件中使用JSON组件是FastJSON,开发中注意包的引用
AbstractSecurityProcessor抽象类
开发者可实现这个抽象类完成安全处理机制开发。
com.actionsoft.bpms.commons.security.processor.AbstractSecurityProcessor
public abstract class AbstractSecurityProcessor {
    /**
     * 判断安全处理器是否可用
     *
     * @param params
     * @return
     */
    public boolean isAvailable(Map<String, Object> params);
    /**
     * 加密文本
     *
     * @param params content 需要加密的文本,password 平台默认加密方式的秘钥
     * @return 加密后的文本
     */
    public String encryptContent(Map<String, Object> params);
    /**
     * 解密文本
     *
     * @param params content 需要解密的文本,password 平台默认加密方式的秘钥
     * @return 解密后的文本
     */
    public String decryptContent(Map<String, Object> params);
//---------------------这是分隔线以下两个方法为6.3.GA及以后版本请使用------------------------------
    /**
     * 返回解密包装流
     *
     * @param is 要解密的文件流
     * @param password 取自文件路经的一段信息
     * @return 解密后的文件流
     * @throws Exception
     * @since 6.3.GA及以后使用该接口
     */
    public InputStream decrypt(InputStream is, String password, Map<String, Object> params) throws Exception;
    /**
     * 返回加密包装流
     *
     * @param is 待加密的文件流
     * @param password 取自文件路经的一段信息
     * @return 加密后的文件流
     * @throws Exception
     * @since 6.3.GA及以后使用该接口
     */
    public InputStream encrypt(InputStream is, String password, Map<String, Object> params) throws Exception;
//----------------这是分隔线以下两个方法为6.3.3、 6.3.2、 6.3.1版本请使用-----------------------
    /**
     * 加密文件
     * <p>6.3.GA以前的版本使用该方法</p>
     *
     * @param params path 文件路径  password 平台默认加密方式的秘钥
     * @return 文件大小
     */
    public Integer encryptFile(Map<String, Object> params);
    /**
     * 解密文件
     * <p>6.3.GA以前的版本使用该方法</p>
     *
     * @param params path 文件路径 context 文件的DCContext对象  password 平台默认加密方式的秘钥
     * @return 解密后的文件流
     */
    public InputStream decryptFile(Map<String, Object> params);
}
上述列出的是接口方法,必须实现的
另外,如果有实际需求,需要重写两个方法:
- public String calculateHashcode(Map
params);//用于计算BO的字段防篡改的摘要信息  - public String getPassword(String userId, String pwd);//用于调整登录密码的摘要算法调整
 
注册语法
由SecurityProcessorProfile类完成向AWS PaaS的注册。
//注册安全处理机制
/**
 * @param securityId 全局唯一名称
 * @param name 中文名称
 * @param clazz 实现类
 * @param desc 描述
 */
list.add(new SecurityProcessorProfile("SM-SECURITY", "My安全处理机制", SMSecurityProcess.class.getName(), ""));
clazz-实现类路径,如com.actionsoft.apps.formui.sample.FormUISampleImpl

Seven
      
  010-62962343-690
        
 liujx@actionsoft.com.cn
        
    
    感谢您对该文档的关注!如果您对当前页面内容有疑问或好的建议,请与我联系。如果您需要解答相关技术问题请登录AWS客户成功社区