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

Reply via email to