Hi,
do you want to create a logn page to authenticate the user?
If yes; can try
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Please login</title>
</head>
<body>
<s:form action="LoginDispatcher">
<s:textfield label="User Id" name="user"></s:textfield>
<s:password label="Password" name="pass"></s:password>
<s:submit label="Login" name="Login"></s:submit>
</s:form>
</body>
</html>
and write LoginDispatcher.java
package abc;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.naming.InitialContext;
import javax.servlet.RequestDispatcher;
import javax.servlet.http.*;
import javax.sql.DataSource;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.*;
public class LoginDispatcher extends ActionSupport
{
private static final long serialVersionUID = 1L;
String uri;
User user;
public String execute()
{
// TODO Auto-generated method stub
HttpServletRequest req = ServletActionContext.getRequest();
HttpServletResponse res = ServletActionContext.getResponse();
user = new User();
String name= req.getParameter("user");
String pass=req.getParameter("pass");
user.setUser(name);
user.setPass(pass);
try{
InitialContext ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/PSN");
Connection con = ds.getConnection();
PreparedStatement ps;
ps=con.prepareStatement("select USERID,PASSWORD,ROLE from
SQLJ.LOGIN where USERID='"+name+ "'"+"AND PASSWORD ='"+pass+"'");
ResultSet rs = ps.executeQuery();
if(rs.next() && Integer.parseInt(rs.getString(3)) == 1)
{
rs.close();
con.close();
req.setAttribute("User",user);
uri="/SMEHome.jsp"; //SME home page
}else if (Integer.parseInt(rs.getString(3)) == 2)
{
rs.close();
con.close();
req.setAttribute("User",user);
uri="/Home.jsp"; //Practitioner Home page
}else if(Integer.parseInt(rs.getString(3)) == 3)
{
rs.close();
con.close();
req.setAttribute("User",user);
uri="/SMEPracHome.jsp"; //sme and prac both functions home page
}else if(Integer.parseInt(rs.getString(3)) == 4)
{
rs.close();
con.close();
req.setAttribute("User",user);
uri="/AdminHome.jsp"; //Administrator home page
} else
{
rs.close();
con.close();
uri="/CreateProfile.jsp";
}
if (uri != null)
{
RequestDispatcher rd = req.getRequestDispatcher(uri);
rd.forward(req,res);
}
return "success";
} catch(Exception e){e.printStackTrace();}
return "error";
}
}
On Thu, Mar 25, 2010 at 2:34 PM, Saman Perera <[email protected]>wrote:
> hi all
>
> Any one know how to implement struts 2 form based authentication log in
> application
>
> Thanks
> Saman
>
--
Ammar S. Kantawala
B.Tech Computers