import java.io.Console; import com.ibm.as400.access.AS400; /** * * AS400¥Ñ¥¹¥ï¡¼¥ÉÊѹ¹¡Ê¥³¥ó¥½¡¼¥ë¡Ë */ public class AsPassChg { AS400 as400 ; String systemName; String userId; String oldPassword ; String newPassword ; /** * ¥æ¡¼¥¶¡¼ID¤È¸½¹Ô¥Ñ¥¹¥ï¡¼¥É¤ò¥³¥ó¥½¡¼¥ë¤è¤êÆþÎϤ·¥æ¡¼¥¶¡¼¤¬Â¸ºß¤¹¤ë¤«³Îǧ¤¹¤ë * @return ¥æ¡¼¥¶¡¼Ç§¾Ú¤¬À®¸ù¤·¤¿¾ì¹çtrue */ boolean connectChk() { as400 = new AS400(systemName); boolean rtn =false; // ¥µ¥¤¥ó¥ª¥ó¾ðÊóÆþÎÏ Console console = System.console(); userId = console.readLine("¥æ¡¼¥¶¡¼ID¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡§"); char[] password = console.readPassword("¥Ñ¥¹¥ï¡¼¥É¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡§"); oldPassword = String.valueOf(password); // ¥æ¡¼¥¶¡¼Ç§¾Ú try { if (as400.validateSignon(userId, oldPassword) ) { System.out.println("¥µ¥¤¥ó¥ª¥óÀ®¸ù"); rtn = true ; } } catch (Exception ex) { ex.printStackTrace(); System.out.println("¥µ¥¤¥ó¥ª¥ó¼ºÇÔ"); } return rtn; } /** * Êѹ¹Íѥѥ¹¥ï¡¼¥É¤Î¼èÆÀ¡ÊºÆ³Îǧ¤ÎÆþÎÏ¥Á¥§¥Ã¥¯´Þ¤à¡Ë * @return Êѹ¹Íѥѥ¹¥ï¡¼¥É¤¬ÆþÎϤ¢¤ê¤Î¾ì¹ç¡§true ½èÍýÃæÃÇ¡§false */ boolean newPasswordInput() { boolean rtn = false; Console console = System.console(); System.out.println("¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£Ãæ»ß¤¹¤ë¾ì¹ç¤Ï¤½¤Î¤Þ¤Þ[Enter]¥¡¼¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤"); System.out.println(""); for(;;) { char[] password1 = console.readPassword("¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É¡§"); String newPass1 = String.valueOf(password1); if (newPass1.length() != 0) { char[] password2 = console.readPassword("¥Ñ¥¹¥ï¡¼¥ÉºÆ³Îǧ¡§"); String newPass2 = String.valueOf(password2); if(newPass1.equals(newPass2)) { // ¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É¤ÈºÆ³Îǧ¤¬°ìÃ× newPassword = newPass1; rtn = true; break; } else { // ÆþÎϴְ㤨¤¿¾ì¹ç¤ÏºÆÆþÎÏ System.out.println("ÆþÎϤµ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¤¬°ìÃפ·¤Þ¤»¤ó¡£ºÆÅÙÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£"); } } else break; } return rtn ; } /** * ¥Ñ¥¹¥ï¡¼¥É¤ÎÊѹ¹½èÍý¤ò¼Â¹Ô * @return ¥Ñ¥¹¥ï¡¼¥É¤Î¹¹¿·À®¸ù¡§true¡¡¼ºÇÔ¡§false */ boolean execPasswordChg() { boolean rtn = false; as400.disconnectAllServices(); //°ìÅÙÁ´¤Æ¥Ç¥£¥¹¥³¥Í¤¹¤ë as400 = new AS400(systemName,userId,oldPassword); // ºÆÅÙ¥µ¥¤¥ó¥ª¥ó try { as400.changePassword(oldPassword, newPassword) ; // ¥Ñ¥¹¥ï¡¼¥ÉÊѹ¹ rtn = true; } catch (Exception ex) { ex.printStackTrace(); } return rtn; } /** * ¥³¥ó¥¹¥È¥é¥¯¥¿ * @param sysNam AS400¤ÎIP¥¢¥É¥ì¥¹ */ public AsPassChg(String sysNam) { systemName = sysNam; System.out.println("¢£¢£AS/400¥Ñ¥¹¥ï¡¼¥ÉÊѹ¹¥Ä¡¼¥ë¢£¢£"); System.out.println("¥µ¡¼¥Ð¡¼Ì¾¡§"+systemName); } /** * ¥µ¡¼¥Ð¡¼Àܳ¡¦¥Ñ¥¹¥ï¡¼¥ÉÆþÎÏÀ©¸æ¡¦¥Ñ¥¹¥ï¡¼¥É¤ÎÊѹ¹½èÍý * @param args AS400¤ÎIP¥¢¥É¥ì¥¹ */ public static void main(String[] args) { AsPassChg app = new AsPassChg(args[0]); // ¥µ¡¼¥Ð¡¼Àܳ³Îǧ if (app.connectChk()) { System.out.println("¥µ¡¼¥Ð¡¼Àܳ¤ËÀ®¸ù¤·¤Þ¤·¤¿¡£"); } else { System.out.println("¥µ¡¼¥Ð¡¼Àܳ¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£½ªÎ»¤·¤Þ¤¹¡£"); System.exit(-1); } // ¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥ÉÆþÎÏ if (! app.newPasswordInput() ) { System.out.println("¥Ñ¥¹¥ï¡¼¥É¤ÎÊѹ¹¤òÃæ»ß¤·¤Þ¤·¤¿¡£"); System.exit(-1); } // ¥Ñ¥¹¥ï¡¼¥ÉÊѹ¹ System.out.println("¥Ñ¥¹¥ï¡¼¥É¤ÎÊѹ¹¤ò³«»Ï¤·¤Þ¤¹"); if ( app.execPasswordChg() ) { System.out.println("¥Ñ¥¹¥ï¡¼¥É¤ÎÊѹ¹¤¬´°Î»¤·¤Þ¤·¤¿¡£"); } else { System.out.println("¥Ñ¥¹¥ï¡¼¥É¤ÎÊѹ¹¤¬¼ºÇÔ¤·¤Þ¤·¤¿¡£ºÇ½é¤«¤é¤ä¤ê¤Ê¤ª¤·¤Æ¤¯¤À¤µ¤¤¡£"); } } }
¤³¤Î¥Ú¡¼¥¸¤Ø¤Î¥³¥á¥ó¥È
WB3GGF Hey, thanks for the article post. Will read on...