package proaktiv; import cleware.serverservlet.*; import javax.servlet.*; import java.util.*; import java.io.IOException; public class ProaktivServerServlet extends GenericDBServerServlet { public static final int PROAKTIV = GenericDBServerServlet.MODE_USER; public static final int MODE_USER = GenericDBServerServlet.MODE_USER + 10; public static String PROAKTIVUSER; //normál user jogosultság neve public static String PROAKTIVADMIN; //superuser jogosultság neve public static final String MENUFRAME = "MENU"; public static final String MAINFRAME = "MAIN"; static final Hashtable hsRights = new Hashtable(); //felhasználók jogosultságai // hsRights feltöltése: kulcs=usernév, érték=,jog,,jog,.... public static QueryActions qryActions; public static QueryTypes qryTypes; public static QueryBasics qryBasics; public void init(ServletConfig config) throws ServletException { if (db == null) { hsMetaInfo.put( "GENERATOR", "proaktiv.ProaktivServerServlet" ); hsMetaInfo.put( "APPLICATION", "Proaktiv.Intranet" ); hsMetaInfo.put( "VERSION", "Alfa version" ); hsMetaInfo.put( "@COMPANY", "1998. Cleware Informatika Kft." ); hsMetaInfo.put( "@CUSTOMER", "Pannon GSM Rt." ); pf.Load("/"+config.getServletContext().getRealPath("/")+"proaktiv.properties"); //Adatbázis sDBServerDriver = pf.GetParam( "DBSERVERDRIVER", "connect.microsoft.MicrosoftDriver" ); sDBServerAddress = pf.GetParam( "DBSERVERADDRESS", "127.0.0.1" ); iDBServerPort = pf.GetParamInt( "DBSERVERPORT", 1433 ); sDBServerUser = pf.GetParam( "DBSERVERUSER", "user" ); sDBserverPassword = pf.GetParam( "DBSERVERPASSWORD", "???" ); super.init(config); PROAKTIVUSER = pf.GetParam("PROAKTIVUSER", "ProaktivUser"); PROAKTIVADMIN = pf.GetParam("PROAKTIVADMIN", "ProaktivAdmin"); qryActions = new QueryActions( db ); qryTypes = new QueryTypes( db ); qryBasics = new QueryBasics( db ); // hsRights feltöltése hsRights.put( PROAKTIVUSER, ","+PROAKTIVUSER+"," ); hsRights.put( PROAKTIVADMIN, ","+PROAKTIVUSER+",,"+PROAKTIVADMIN+"," ); } } public void destroy() { if (qryActions != null) { qryActions.Close(); qryActions = null; } if (qryTypes != null) { qryTypes.Close(); qryTypes = null; } if (qryBasics != null) { qryBasics.Close(); qryBasics = null; } super.destroy(); } public synchronized void Init() throws ServerServletException { super.Init(); // sUser beállítása sUser = PROAKTIVADMIN; } public void doPost() throws ServerServletException, IOException { doGet(); } public boolean hasRight(String right) { String sRights = (String)hsRights.get( sUser ); if (sRights == null) return false; return sRights.indexOf( ","+right+"," ) >= 0; } public boolean checkRight(String right) { if (hasRight(right)) return true; PrintError( "User Authentication Failed! Please contact the System Administrator!" ); return false; } public boolean checkDbError() { if (db.sDbError != null) { PrintError(db.sDbError); db.sDbError = null; return true; } return false; } }