[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Создание Мульти-Админки
Sma1LДата: Воскресенье, 19.02.2012, 19:57 | Сообщение # 1

Подполковник
Сообщений: 111
Репутация: 3
Награды: 0
BL:


В 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>");   
}


С уважением Sma1L
 
  • Страница 1 из 1
  • 1
Поиск: