登录后将用户重定向到新页面
本文关键字:新页面 重定向 用户 登录 | 更新日期: 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");
}