here'e the session manager....
package com.lms.actions;
import com.opensymphony.xwork2.ActionContext;
import java.util.Map;
import org.apache.struts2.interceptor.SessionAware;
public class SessionMgr implements SessionAware{
private Map<String , object> session = (Map<String , object>) inv.getInvocationContext();
Object user = session.get("user");
public void setSession(Map map) {
throw new UnsupportedOperationException("Not supported yet.");
}
}
and in loginAction
package com.lms.actions;
import com.lms.dataAccess.OraDataAccess;
import com.lms.dataAccess.SqlDataAccess;
import com.opensymphony.xwork2.ActionSupport;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.Map;
import org.apache.struts2.interceptor.SessionAware;
//import com.sun.xml.internal.bind.v2.runtime.Name;
public class LoginAction extends ActionSupport implements SessionAware{
/**
*
*/
private static final long serialVersionUID = 1L;
OraDataAccess db = new OraDataAccess();
SqlDataAccess sqldb = new SqlDataAccess();
PreparedStatement psmt = null;
Connection con = null;
static String username;
public String password;
public ArrayList<String> array;
private Map session;
static String sub_org;
public String execute() {
//if(username.equals("admin") && password.equals("admin")){
if (isUser(username, password)== true) {
session.put("user",username);
session.put("subOrg",sub_org);
return SUCCESS;
}else if(isRegUser(username, password) == true){
session.put("user",username);
session.put("subOrg",sub_org);
return NONE;
}else{
addActionerror(getText("error.login"));
return ERROR;
}
}
public ArrayList<String> getArray() {
return array;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public void setSession(Map session) {
this.session = session;
}
public Boolean isUser(String username, String password){
boolean find = false;
sub_org = null;
try {
con = db.getDBConnection();
String sql="SELECT LMS_SUB_ORG FROM HR.WEB_USER_PANEL WHERE USER_NAME = ? AND USR_PWORD = ?";
psmt = con.prepareStatement(sql);
psmt.setString(1, username.toUpperCase());
psmt.setString(2, password);
ResultSet rs = psmt.executeQuery();
String admin = "ADMIN";
String pm = "PM";
while (rs.next())
sub_org = rs.getString(1).trim();
if(sub_org .equals(admin) || sub_org.equals(pm))
find = true;
else
find = false;
System.out.println(sub_org);
System.out.println(find);
rs.close();
psmt.close();
con.close();
} catch (Exception e) {
// TODO: handle exception
find = false;
System.out.println(e);
}
return find;
}
public boolean isRegUser(String username, String password) {
boolean find = false;
try{
con = sqldb.getDBConnection();
String sql = "SELECT * FROM USERS WHERE username = ? and password = ? and approval = '1'";
psmt = con.prepareStatement(sql);
psmt.setString(1, username);
psmt.setString(2, password);
ResultSet rs = psmt.executeQuery();
if(rs.next()){
find = true;
}else{
find = false;
}
rs.close();
psmt.close();
con.close();
}catch(Exception e){
System.out.println("error isRegUser:\n");
}
return find;
}
}
Thank you in Advance guys!

New Topic/Question
Reply



MultiQuote



|