登录后将用户重定向到新页面

本文关键字:新页面 重定向 用户 登录 | 更新日期: 2023-09-27 18:19:28

我是C#/.Net的新手。我正在尝试创建一个登录页面,将管理员引导到网站的一个页面,并将所有其他用户引导到另一个页面。我已经通过aspnet_regsql.exe成功添加了所需的页面,能够从数据库中获取数据,并通过ASP.NET配置后端网站创建用户和文件夹权限。当我创建用户时,我检查了SQL server数据库,它正在工作,但当我尝试登录时,什么也没发生。我做了一些研究,意识到我需要向这个方法添加代码,以便将其转发到正确的页面,但我不知道从哪里开始。

protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
{

编辑:感谢您对重定向的投入。如何使用数据库验证登录?我使用的是登录控件附带的标准表。

登录后将用户重定向到新页面

首先,您必须对用户进行身份验证,然后将用户重定向到可供其使用的页面。

If (authentication success) 
{ 
// iF you want to parse user id of the user to the page then you can use query string 
// like this " ~/home.page?id=129" 
Response.Redirect("~/Home.page") 
} 

如果您使用自定义数据表,那么您可以编写一个过程来验证用户,我使用自定义数据表来保存成员,并使用SQL过程进行验证,如下所示:

 Create Procedure [dbo].[Authenticate]
    (
    @Email varchar(50), 
    @Password varchar(50)    
    ) 
    As
    Declare @@ID int 

    Set @@ID = (select ID from users where Email = @Email)
    if exists (select * from [dbo].[Users] where Email = @Email and [Password] = @Password ) 
    select 'True' as IsValid , @@ID as ID
    else 
    select 'False' as Isvalid , 0 as ID
    return

Response.RRedirect()应该可以帮助您实现

假设您使用的是会员资格提供商:

if (Membership.GetUser() != null && Page.User.IsInRole("administrator"))
{
   //admin user
   Response.Redirect("adminarea.html");
}

放入

protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
{
// Validate From DB
//After successful Validation
Response.Redirect("Your Page name");
}