В Log:
Code
public static final String PassProperties = "" + "$PASS";
В MainProps:
Code
/**
* Авто создание пароля для заданного сервиса
* @param name
*/
public static void AddPassProperties (String name){
try {
String pass = Log.PassProperties;
pass = pass.replace("$PASS", name);
OutputStreamWriter NewFile = new OutputStreamWriter( new FileOutputStream( "./pass/" + name , true ), "windows-1251" );
NewFile.write( pass );
NewFile.close();
}
catch ( Exception ex )
{
Log.error( "Ошибка создания файла паролей для сервиса" + name , ex );
}
}
В MainPage:
Code
private String name=""; // логин
private String pass=""; // пасс
Настраиваем под себя:
Code
/**
* Обработка введенных данных при авторизации
* @param con
* @throws Exception
*/
public void login(HttpConnection con) throws Exception {
if(loginErrCount>MainProps.getIntProperty("http.maxErrLogin"))
if((System.currentTimeMillis()-lastErrLogin) < (60000*MainProps.getIntProperty("http.timeBlockLogin"))) return;
name = con.get("name");
pass = con.get("password");
if (SrvUtil.getAuth(name, pass)==1) {
loginErrCount=0;
userID = SrvUtil.getSessionId();
dt = System.currentTimeMillis();
con.addPair("uid", userID);
main_page(con);
return;
} else {
String ns = con.get("name");
if(!Manager.getInstance().getServiceNames().contains(ns)){
SrvUtil.error(con,"Не верный Логин или Пароль.");
return;
}
if (!pass.equals(loadTexts("./pass/"+name))) {
loginErrCount++;
lastErrLogin = System.currentTimeMillis();
if((System.currentTimeMillis()-lastErrLogin) > (60000*MainProps.getIntProperty("http.timeErrLogin")))
loginErrCount=0;
SrvUtil.error(con, "Не верный Логин или Пароль.");
return;
}
loginErrCount=0;
userID = SrvUtil.getSessionId();
dt = System.currentTimeMillis();
con.addPair("uid", userID);
Multi_srvs_props(con);
return;
}
}
public String loadTexts(String fname){
String s = "";
try {
BufferedReader r = new BufferedReader(new InputStreamReader(new FileInputStream(fname),"windows-1251"));
while (r.ready()) {
s += r.readLine();
}
r.close();
} catch (Exception ex) {
ex.printStackTrace();
}
return s;
}
Code
/**
* Multi-Adminka
* @author Newix
*/
public void Multi_srvs_props(HttpConnection con) throws IOException {
String uid = con.get("uid");
if(!checkSession(uid)) {
SrvUtil.error(con,"Ошибка авторизации!");
return;
}
String ns = name;
dt = System.currentTimeMillis();
con.print(SrvUtil.HTML_HEAD + "<TITLE>JimBot "+MainProps.VERSION+" </TITLE>" +
"<br><br>");
con.print("<center><A HREF=\"" + con.getURI() + "?uid=" + uid + "&page=loginForm\">" +"<INPUT TYPE=submit VALUE=\"Выход из Системы \"></FORM></BODY></HTML></A></center>");
String s = "<center><noscript><FONT COLOR=\"#FF0400\">Обязательно включите поддержку Javascript(В настройках браузера)!</FONT></noscript><TABLE border=\"1px\"></center>";
s += "<TR><TH ALIGN=LEFT>"+ns+"</TD>";
s += "<TD><A HREF=\"" + con.getURI() + "?uid=" + uid +"&page=srvs_props&ns="+ns+"\"><INPUT TYPE=submit VALUE=\"Настройки сервиса\"></FORM></BODY></HTML></A></TD>";
s += "<TD><A HREF=\"" + con.getURI() + "?uid=" + uid +"&page=srvs_other&ns="+ns+"\"><INPUT TYPE=submit VALUE=\"Другие настройки\"></FORM></BODY></HTML></A></TD>";
s += "<TD><A HREF=\"" + con.getURI() + "?uid=" + uid +"&page=srvs_props_uin&ns="+ns+"\"><INPUT TYPE=submit VALUE=\"Настройки UIN\"></FORM></BODY></HTML></A></TD>";
if(Manager.getInstance().getService(ns) instanceof ChatServer){
s += "<TD><A HREF=\"" + con.getURI() + "?uid=" + uid +"&page=user_group_props&ns=" + ns + "\"><INPUT TYPE=submit VALUE=\"Полномочия\"></FORM></BODY></HTML></A></TD>";
} else
s += "<TD> </TD>";
s += "<TD><A HREF=\"" + con.getURI() + "?uid=" + uid +"&page=srvs_stats&ns="+ns+"\"><INPUT TYPE=submit VALUE=\"Статистика\"></FORM></BODY></HTML></A></TD>";
if(Manager.getInstance().getService(ns).isRun){
s += "<TD><form method=post title=\"Откючит только данный сервис\"><input type=button onclick=location.href=\"" + con.getURI() +
"?uid=" + uid + "&page=srvs_stop&ns="+ns+"\" name=\"openFile\" value=Выключить сервис></form> </TD>";
} else {
s += "<TD><FONT COLOR=\"#FF0400\">Ждите перезагрузку</FONT></TD>";
}
s += "</TR>";
s += "</TABLE>";
con.print(s);
con.print("</FONT></BODY></HTML>");
}