2012-02-13 56 views
1

喜IM上有一个数据库如何为不同的用户提供不同的登录页面?

   UserName|Password|UserType 
      Anil|Anil|Manager 
      ghouse|Ghouse|Admin 
      raghu|raghu|User 

现在我的任务是在登录时每个用户提供他们自己的网页....它们都具有相同的登录页面的Web应用程序的工作..

能任何1分帮助我....

家伙我想这代码的wotkin罚款,两个用户可以在任何1告诉我该怎么做,如果我有两个以上的用户

  SqlConnection con = new SqlConnection("Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=DebitCareBankApp;Data Source=SSDEV7-HP\\SQLEXPRESS"); 
     string cmdStr = "select LoginType from Login where UserName='" + TxtUsername.Text + "' AND Password = '" + TxtPassword.Text + "'"; 
     SqlCommand cmd = new SqlCommand(cmdStr, con); 
     con.Open(); 
     Object TypeUser = cmd.ExecuteScalar(); 
     con.Close(); 
     if (TypeUser != null) 
     { 
      LblError.Visible = false; 
      LblError.Text = ""; 
      if (TypeUser.ToString() == "Manager") 
       Response.Redirect("~/CallingAgents/CallingAgents_Login.aspx"); 
      else 
       Response.Redirect("~/UserRegistrationForm.aspx"); 
     } 
     else 
     { 
      LblError.Visible = true; 
      LblError.Text = "Invalid Credentials Entered, Try again"; 
     } 
+0

难道真的特定用户或用户类型的具体点吗? – Mithrandir 2012-02-13 09:51:11

+0

usertype @Mithrandir – SoftwareNerd 2012-02-13 09:52:44

+0

任何1可以帮助我的代码.. – SoftwareNerd 2012-02-13 10:22:21

回答

1

我想你应该创建一个通用类,在成功登录时插入用户类型。 在那个普通的类中重定向到相应的页面。

成功登录:

Response.Redirect(clsCommon.GetDefaultPage(userType)); 

您commaon类代码:

public static string GetDefaultPage(string userType){ 
     //Default Redirects 
     Dictionary<string, string> userInfo = new Dictionary<string, string>(){ 
{"Manager","~/ManagerLogin.aspx"},         {"Admin","~/AdminLogin.aspx"},       
          {"User","~/UserLogin.aspx"} 
           }; 
      return userInfo[roleName]; 
} 
+0

我认为这会工作.....我会试试这个......谢谢 – SoftwareNerd 2012-02-13 13:08:14

+0

我的荣幸!!如果你的工作做得好,马克它的答案。 – Neha 2012-02-13 13:25:03

0

如果您使用的是struts,那么您可以根据某个Id重定向到不同的页面。在actionforward你可以实现。或者你可以从url中获得一些值并尝试重定向它

0

一个简单的方法是使用登录控件并为Authenticate事件和LoggedIn事件提供事件处理程序。但我认为你值得检查一下asp.net会员系统的功能。

+0

数据库结构看起来不像会员提供商。我认为登录功能是手工完成的。 – 2012-02-13 10:29:02

+0

是的,这里没有会员供应商@rwarzycha – SoftwareNerd 2012-02-13 10:48:02

+1

@Anil:如果你必须使用自己的桌子,考虑实施你自己的memeberhip和角色提供商。 – Mithrandir 2012-02-13 10:49:43

0

我假设您没有使用Membership供应商并手动设置您的登录功能。

我不完全了解这种定制的目的。对我来说没有意义。但也有多种解决方案为您提供:

  • 转换登录页面(ASPX)到用户/自定义控件(ASCX)并放入到不同的页面 - 简单,快速但不完全透明更多信息ScottGu
  • 使用IIS URL重写的引擎,以提供多个入口点(URL)的 相同的登录页面 - 清晰,recomended,更多信息ScottGu

在第一种情况下,您需要检查UserType以获取用户给出的凭证,并与页面Url(aspx)进行对比。在第二种情况下,您需要获取包含基本Url的Request.RawUrl并制作简单的case

+0

我需要将每个用户重定向到他自己的页面.....具有相同的登录页面... – SoftwareNerd 2012-02-13 10:53:48

+0

@Anil纠正我,如果我错了。每个用户都需要拥有自己的页面? – 2012-02-13 11:00:19

+0

是你的r rite .... @ rwarzycha – SoftwareNerd 2012-02-13 11:26:51

0

利用会话。

有关解决方法,你可以按照这个:

+提供相同的登录页面。
+询问用户名和密码。
+使用下拉菜单选择usertype(即Admin或Manager或User)。

因此,根据从下拉列表中选择您处理请求。

我希望这会有所帮助。

相关问题