All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.alogic.remote.xscript.auth.WithPassword Maven / Gradle / Ivy

There is a newer version: 1.6.16
Show newest version
package com.alogic.remote.xscript.auth;

import com.alogic.remote.Request;
import com.alogic.remote.xscript.RequestHandler;
import com.alogic.xscript.ExecuteWatcher;
import com.alogic.xscript.Logiclet;
import com.alogic.xscript.LogicletContext;
import com.alogic.xscript.doc.XsObject;
import com.anysoft.util.Properties;
import com.anysoft.util.PropertiesConstants;
import com.anysoft.util.code.Coder;
import com.anysoft.util.code.CoderFactory;

/**
 *  用户名密码验证
 *  @since 1.6.12.41 [20190902] 
*/ public class WithPassword extends RequestHandler { protected static String timestampId = "x-alogic-now"; protected static String pwdId = "x-alogic-pwd"; protected static String keyId = "x-alogic-app"; protected static String acGroupKeyId = "x-alogic-ac"; protected static String acGroup = "app"; protected Coder des3Coder = null; /** * 应用id */ protected String $key=""; /** * 密钥 */ protected String $keyContent=""; public WithPassword(String tag, Logiclet p) { super(tag, p); } @Override public void configure(Properties p){ super.configure(p); $key = PropertiesConstants.getRaw(p,"key",$key); $keyContent = PropertiesConstants.getRaw(p,"keyContent",$keyContent); acGroup = PropertiesConstants.getString(p,"acGroup",acGroup,true); des3Coder = CoderFactory.newCoder("DES3"); } @Override protected void onExecute(final Request req, final XsObject root, final XsObject current, final LogicletContext ctx, final ExecuteWatcher watcher) { String timestamp = String.valueOf(System.currentTimeMillis()); String theKey = PropertiesConstants.transform(ctx,$key,""); String thePasswd = PropertiesConstants.transform(ctx,$keyContent,""); String encryptPwd = des3Coder.encode(thePasswd, theKey + "$" + timestamp); req.setHeader(timestampId, timestamp); req.setHeader(keyId, theKey); req.setHeader(pwdId, encryptPwd); req.setHeader(acGroupKeyId, acGroup); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy