From 13a754b9f7dbc841035368b77ae3cbd1a3e4ca80 Mon Sep 17 00:00:00 2001 From: felix Date: Mon, 23 Aug 2010 19:08:01 +0200 Subject: [PATCH] original version integrated as dynamic web project --- .classpath | 9 + .project | 30 + .settings/org.eclipse.jdt.core.prefs | 7 + ...org.eclipse.jst.common.project.facet.core.prefs | 4 + .settings/org.eclipse.wst.common.component | 9 + .../org.eclipse.wst.common.project.facet.core.xml | 8 + WebContent/META-INF/MANIFEST.MF | 3 + WebContent/WEB-INF/web.xml | 12 + WebContent/index.jsp | 123 ++++ WebContent/main.jsp | 48 ++ WebContent/menu.jsp | 637 +++++++++++++++++++++ src/org/mcb/services/connectionmanager.java | 30 + src/org/mcb/services/loginmanager.java | 95 +++ src/org/mcb/services/passwordservices.java | 60 ++ src/org/mcb/services/udac.java | 95 +++ src/org/mcb/services/userbean.java | 85 +++ 16 files changed, 1255 insertions(+) create mode 100644 .classpath create mode 100644 .project create mode 100644 .settings/org.eclipse.jdt.core.prefs create mode 100644 .settings/org.eclipse.jst.common.project.facet.core.prefs create mode 100644 .settings/org.eclipse.wst.common.component create mode 100644 .settings/org.eclipse.wst.common.project.facet.core.xml create mode 100644 WebContent/META-INF/MANIFEST.MF create mode 100644 WebContent/WEB-INF/web.xml create mode 100644 WebContent/index.jsp create mode 100644 WebContent/main.jsp create mode 100644 WebContent/menu.jsp create mode 100644 src/org/mcb/services/connectionmanager.java create mode 100644 src/org/mcb/services/loginmanager.java create mode 100644 src/org/mcb/services/passwordservices.java create mode 100644 src/org/mcb/services/udac.java create mode 100644 src/org/mcb/services/userbean.java diff --git a/.classpath b/.classpath new file mode 100644 index 0000000..ba577ab --- /dev/null +++ b/.classpath @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/.project b/.project new file mode 100644 index 0000000..a559083 --- /dev/null +++ b/.project @@ -0,0 +1,30 @@ + + + problems + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.wst.common.project.facet.core.builder + + + + + org.eclipse.wst.validation.validationbuilder + + + + + + org.eclipse.wst.common.project.facet.core.nature + org.eclipse.jdt.core.javanature + org.eclipse.wst.common.modulecore.ModuleCoreNature + org.eclipse.jem.workbench.JavaEMFNature + + diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..d0b253b --- /dev/null +++ b/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +#Mon Aug 23 19:04:21 CEST 2010 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/.settings/org.eclipse.jst.common.project.facet.core.prefs b/.settings/org.eclipse.jst.common.project.facet.core.prefs new file mode 100644 index 0000000..7d33be9 --- /dev/null +++ b/.settings/org.eclipse.jst.common.project.facet.core.prefs @@ -0,0 +1,4 @@ +#Mon Aug 23 19:04:25 CEST 2010 +classpath.helper/org.eclipse.jdt.launching.JRE_CONTAINER/owners=jst.java\:6.0 +classpath.helper/org.eclipse.jst.server.core.container\:\:org.eclipse.jst.server.tomcat.runtimeTarget\:\:Apache\ Tomcat\ v6.0.29/owners=jst.web\:2.5 +eclipse.preferences.version=1 diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component new file mode 100644 index 0000000..16d3ecb --- /dev/null +++ b/.settings/org.eclipse.wst.common.component @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/.settings/org.eclipse.wst.common.project.facet.core.xml b/.settings/org.eclipse.wst.common.project.facet.core.xml new file mode 100644 index 0000000..73dde69 --- /dev/null +++ b/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/WebContent/META-INF/MANIFEST.MF b/WebContent/META-INF/MANIFEST.MF new file mode 100644 index 0000000..5e94951 --- /dev/null +++ b/WebContent/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Class-Path: + diff --git a/WebContent/WEB-INF/web.xml b/WebContent/WEB-INF/web.xml new file mode 100644 index 0000000..5bb1399 --- /dev/null +++ b/WebContent/WEB-INF/web.xml @@ -0,0 +1,12 @@ + + + problems + + index.html + index.htm + index.jsp + default.html + default.htm + default.jsp + + \ No newline at end of file diff --git a/WebContent/index.jsp b/WebContent/index.jsp new file mode 100644 index 0000000..4c97960 --- /dev/null +++ b/WebContent/index.jsp @@ -0,0 +1,123 @@ + +<%@ page language="java" session="true" %> +<%@ page language="java" buffer="500kb" autoFlush="false"%> +<%@ page import = "java.io.*" %> +<%@ page import = "java.sql.*" %> +<%@ page import = "java.util.*" %> +<%@ page import = "java.util.Calendar" %> +<%@ page import = "org.mcb.services.*" %> +<%@ include file = "db/dbcon.jsp" %> +<%@ include file = "//procs/audit.jsp" %> + + +Smart Card Generation Application + + + + + + + + + + + + + + + + + + + + + + + + + + <% //out.println(connection); %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
         
    
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ <% if(request.getParameter("user")!=null){ %> + Login Unsuccessfull: Either Login credentials are in-valid or account has been locked. + <%} %> +
Login
User + Id  
+ +
Password  
  
+ +
+
 
         
         
+ + diff --git a/WebContent/main.jsp b/WebContent/main.jsp new file mode 100644 index 0000000..f361bc9 --- /dev/null +++ b/WebContent/main.jsp @@ -0,0 +1,48 @@ +<%-- + Document : main + Created on : Jul 28, 2010, 11:06:45 AM + Author : yawar.saeed +--%> + +<%@ page language="java" %> +<%@ page import = "java.io.*" %> +<%@ page import="java.sql.*" %> +<%@ page import = "org.mcb.services.*" %> +<%@ page language="java" session="true" %> +<%@ page buffer="32kb" %> + + +Smart Card Generation Application + + + + +<% +userbean usr = (userbean) session.getAttribute("user"); +String login_path = request.getContextPath()+"/index.jsp"; +if( usr == null ){ + session.invalidate(); + response.sendRedirect(response.encodeRedirectURL(login_path)); +} +else{%> + + + + + +
+ + + + + + +
+ +
+ +
+ +<% } %> + + \ No newline at end of file diff --git a/WebContent/menu.jsp b/WebContent/menu.jsp new file mode 100644 index 0000000..f94f08f --- /dev/null +++ b/WebContent/menu.jsp @@ -0,0 +1,637 @@ +<%-- + Document : menu + Created on : Jul 28, 2010, 2:42:16 PM + Author : yawar.saeed +--%> + +<%@ page import = "org.mcb.services.*" %> + + + + + +MCB Smart Card Generation Application +<% +String script_path = request.getContextPath()+"/scripts/stuhover.js"; +String css_path = request.getContextPath()+"/css/pro_dropdown_2.css"; +String login_path = request.getContextPath()+"/index.jsp"; +%> + + + +<% userbean usr = (userbean) session.getAttribute("user"); +//if( (session.getAttribute("user_id") == null) | (session.getAttribute("user_id") == "" ) ){ +if( usr == null ){ + session.invalidate(); //request.getContextPath()+"/Index.jsp" +// response.sendRedirect(login_path); + response.sendRedirect(response.encodeRedirectURL(login_path)); +}else{ +/* String user_id = (String) session.getAttribute("user_id"); + String user_name = (String) session.getAttribute("user_name"); + //String user_pass = (String) session.getAttribute("user_pass"); + String role_id = (String) session.getAttribute("role_id"); + String role_name = (String) session.getAttribute("role_desc"); + String last_login = (String) session.getAttribute("last_login"); + // userbean usr = (userbean) session.getAttribute("user"); + //out.println("object value: "+usr.getName()); + */ +%> + + + + + + + + + + + + + +
+ + + + + + + + + + + + + +
Welcome + <%= usr.getName() %> +
Logged + in as + <%= usr.getRoleDesc() %> +
Last Login Date: + <%= usr.getLastLogin() %> +
Current + Date: + <%= new java.util.Date() %> +
+
+ +<% +if( usr.getRole().equals("0")) { // ROOT USER +//if( role_id.equals("0")) { // ROOT USER %> + +<% } +if( usr.getRole().equals("1")) { // IDC USER +//if( role_id.equals("1")) { // IDC USER %> + +<% } +if( usr.getRole().equals("11")) { // BRANCH PROCESSOR +//if( role_id.equals("11")) { // BRANCH PROCESSOR %> + +<% } +if( usr.getRole().equals("12")) { // BRANCH APPROVER +//if( role_id.equals("12")) { // BRANCH APPROVER %> + +<% } +if( usr.getRole().equals("21")) { // OPS PROCESSOR +//if( role_id.equals("21")) { // OPS PROCESSOR %> + +<% } +if( usr.getRole().equals("22")) { // OPS APPROVER +//if( role_id.equals("22")) { // OPS APPROVER %> + +<% } +if( usr.getRole().equals("23")) { // OPS ADMIN +//if( role_id.equals("23")) { // OPS ADMIN %> + +<% } +if( usr.getRole().equals("31")) { // CPDU PROCESSOR +//if( role_id.equals("31")) { // CPDU PROCESSOR %> + +<% } +if( usr.getRole().equals("41")) { // CALL-CENTER AGENT +//if( role_id.equals("41")) { // CALL-CENTER AGENT %> + +<% } %> + +
+ +<% } %> + diff --git a/src/org/mcb/services/connectionmanager.java b/src/org/mcb/services/connectionmanager.java new file mode 100644 index 0000000..689d6d2 --- /dev/null +++ b/src/org/mcb/services/connectionmanager.java @@ -0,0 +1,30 @@ +package org.mcb.services; + +/** + * + * @author yawar.saeed + */ +import java.sql.*; +import java.util.*; +import oracle.jdbc.driver.*; + + public class connectionmanager { + static Connection scgmcon ; + + public static Connection scgm_conn() throws Exception{ + String host = "10.20.0.115"; + String service = "scdb"; + String usr = "scuser"; + String pass = "scuser"; + String driverName = "oracle.jdbc.driver.OracleDriver"; + String connstr = "jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = " + + host +")(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = " + service + ")))"; + try{ + Class.forName(driverName).newInstance(); + scgmcon = DriverManager.getConnection(connstr, usr, pass); + }catch(Exception e){ + System.out.println(e); + } + return(scgmcon); + } +} diff --git a/src/org/mcb/services/loginmanager.java b/src/org/mcb/services/loginmanager.java new file mode 100644 index 0000000..eb147ac --- /dev/null +++ b/src/org/mcb/services/loginmanager.java @@ -0,0 +1,95 @@ +package org.mcb.services; + +import java.io.IOException; +import java.io.PrintWriter; +import java.net.*; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; +/** + * + * @author yawar.saeed + */ +public class loginmanager extends HttpServlet { + + /** + * Processes requests for both HTTP GET and POST methods. + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + protected void processRequest(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + response.setContentType("text/html;charset=UTF-8"); + PrintWriter out = response.getWriter(); + try { + userbean user = new userbean(); + user.setUserId(request.getParameter("txt_userid")); + user.setPassword(request.getParameter("txt_pass")); + user = udac.login(user); + if (user.isValid()){ + HttpSession session = request.getSession(true); + session.setAttribute("user", user); + session.setAttribute("user_id",user.getUserId()); + session.setAttribute("user_name",user.getName()); + session.setAttribute("role_id",user.getRole()); + session.setAttribute("role_desc", user.getRoleDesc()); + session.setAttribute("last_login", user.getLastLogin()); + //response.sendRedirect("main.jsp"); //logged-in page + //response.sendRedirect(response.encodeRedirectURL("main.jsp")); + response.sendRedirect(request.getContextPath() + response.encodeRedirectURL("/main.jsp")); + + }else{ + // response.sendRedirect("index.jsp?user="+user.isValid()); //revert back to login page + // response.sendRedirect(response.encodeRedirectURL("index.jsp?user="+user.isValid())); //revert back to login page + response.sendRedirect(request.getContextPath() + + response.encodeRedirectURL("/index.jsp") + + "?user="+ user.isValid()); + // + java.net.URLEncoder.encode()); + + } + } finally { + out.close(); + } + } + + // + /** + * Handles the HTTP GET method. + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Handles the HTTP POST method. + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Returns a short description of the servlet. + * @return a String containing servlet description + */ + @Override + public String getServletInfo() { + return "Short description"; + }// + +} diff --git a/src/org/mcb/services/passwordservices.java b/src/org/mcb/services/passwordservices.java new file mode 100644 index 0000000..c3314a5 --- /dev/null +++ b/src/org/mcb/services/passwordservices.java @@ -0,0 +1,60 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +package org.mcb.services; + +/** + * + * @author yawar.saeed + */ + +import java.io.UnsupportedEncodingException; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +//import org.mcb.SystemUnavailableException; +import sun.misc.BASE64Encoder; +import sun.misc.CharacterEncoder; +public final class passwordservices +{ + private static passwordservices instance; + private passwordservices() + { + } + public synchronized String encrypt(String plaintext) throws Exception + { + MessageDigest md = null; + try + { + md = MessageDigest.getInstance("SHA"); //step 2 + } + catch(NoSuchAlgorithmException e) + { + throw new Exception(e.getMessage()); + } + try + { + md.update(plaintext.getBytes("UTF-8")); //step 3 + } + catch(UnsupportedEncodingException e) + { + throw new Exception(e.getMessage()); + } + byte raw[] = md.digest(); //step 4 + String hash = (new BASE64Encoder()).encode(raw); //step 5 + return hash; //step 6 + } + public static synchronized passwordservices getInstance() //step 1 + { + if(instance == null) + { + return new passwordservices(); + } + else + { + return instance; + } + } +} + diff --git a/src/org/mcb/services/udac.java b/src/org/mcb/services/udac.java new file mode 100644 index 0000000..4dbc3a6 --- /dev/null +++ b/src/org/mcb/services/udac.java @@ -0,0 +1,95 @@ +package org.mcb.services; + +/** + * + * @author yawar.saeed + */ +import java.text.*; +import java.util.*; +import java.sql.*; +import javax.servlet.http.HttpSession; + + public class udac + { +// static Connection currentCon = null; +// static ResultSet rs = null; + + public static userbean login(userbean bean) { + //preparing some objects for connection + Connection currentCon = null; + ResultSet rs = null; + Statement stmt = null; + String userid = bean.getUserId(); + String password = bean.getPassword(); + String epass = null; + String name = null; + String user_id = null; + String role_id = null; + String branch_code = null; + String last_login = null; + String role_desc = null; + try{ + epass = passwordservices.getInstance().encrypt(password); + }catch(Exception e){ + System.out.println(e); + } + String searchQuery = "SELECT a.USER_ID,a.NAME, a.BRANCH_CODE, a.PASSWORD, a.LAST_LOGIN_DATE, a.ROLE_ID, b.ROLE_DESC FROM LOGIN_INFORMATION a, ROLES b WHERE a.ACTIVE = 'A' AND a.ROLE_ID = b.ROLE_ID "; + searchQuery = searchQuery + "AND LOWER(a.USER_ID) = LOWER('"+ userid + "') AND a.PASSWORD = '"+epass+"'"; + try{ + //connect to DB + currentCon = connectionmanager.scgm_conn(); + stmt=currentCon.createStatement(); + rs = stmt.executeQuery(searchQuery); + boolean hasdata=false; + while(rs.next()) { + hasdata=true; + name = rs.getString("NAME"); + user_id = rs.getString("USER_ID"); + branch_code = rs.getString("BRANCH_CODE"); + role_id = rs.getString("ROLE_ID"); + last_login = rs.getString("LAST_LOGIN_DATE"); + role_desc = rs.getString("ROLE_DESC"); + bean.setName(name); + bean.setUserId(user_id); + bean.setBranch(branch_code); + bean.setRole(role_id); + bean.setLastLogin(last_login); + bean.setRoleDesc(role_desc); + bean.setValid(true); + } + if(!hasdata) { + System.out.println("Sorry, you are not a registered user! Please sign up first "+ searchQuery); + bean.setValid(false); + } + }catch (Exception ex){ + System.out.println("Log In failed: An Exception has occurred! " + ex); + } + //some exception handling + finally{ + if (rs != null) { + try { + rs.close(); + } catch (Exception e) {} + rs = null; + } + + if (stmt != null) { + try { + stmt.close(); + } catch (Exception e) {} + stmt = null; + } + + if (currentCon != null) { + try { + currentCon.close(); + } catch (Exception e) { + } + + currentCon = null; + } + } +return bean; + + } +} diff --git a/src/org/mcb/services/userbean.java b/src/org/mcb/services/userbean.java new file mode 100644 index 0000000..0fd4db5 --- /dev/null +++ b/src/org/mcb/services/userbean.java @@ -0,0 +1,85 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +package org.mcb.services; + +/** + * + * @author yawar.saeed + */ +public class userbean { + private String userid; + private String password; + private String RoleDesc; + private String LastLogin; + private String Name; + private String Branch; + private String RoleId; + public boolean valid; + + public String getName() { + return Name; + } + + public void setName(String newName) { + Name = newName; + } + public String getBranch() { + return Branch; + } + + public void setBranch(String newBranch) { + Branch = newBranch; + } + public String getRole() { + return RoleId; + } + + public void setRole(String newRole) { + RoleId = newRole; + } + public String getRoleDesc() { + return RoleDesc; + } + + public void setRoleDesc(String newRoleDesc) { + RoleDesc = newRoleDesc; + } + + public String getLastLogin() { + return LastLogin; + } + + public void setLastLogin(String newLastLogin) { + LastLogin = newLastLogin; + } + + + public String getPassword() { + return password; + } + + public void setPassword(String newPassword) { + password = newPassword; + } + + + public String getUserId() { + return userid; + } + + public void setUserId(String newUserId) { + userid = newUserId; + } + + + public boolean isValid() { + return valid; + } + + public void setValid(boolean newValid) { + valid = newValid; + } +} -- 2.11.0