2013-06-21 4 views
-1

Я новичок в C# /. Я пытаюсь создать страницу входа, которая направляет администраторов на одну страницу сайта и всех других пользователей на другую. Я успешно добавил необходимые страницы через aspnet_regsql.exe, могу получить данные из базы данных и создать разрешения пользователей и папок через веб-сайт конфигурации конфигурации ASP.NET. Когда я сделал пользователя, я проверил базу данных SQL Server, и он работает, но когда я пытаюсь войти в систему, ничего не происходит. Я сделал некоторые исследования и понял, что мне нужно добавить код к этому методу, чтобы он перешел на нужную страницу, но я не знаю, с чего начать.Перенаправить пользователей на новую страницу после входа в систему

protected void Login1_Authenticate(object sender, AuthenticateEventArgs e) 

{ 

EDIT: Спасибо за вход на перенаправления. Как вы проверяете логин с базой данных? Я использую стандартные таблицы, которые идут с помощью элемента управления входами.

+0

Здесь так много вопросов, что я не знаю, с чего начать ... –

ответ

2

Прежде всего, вы должны авторизовывать пользователя, а затем вы перенаправляете пользователя на страницу, доступную для него.

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") 
} 

Если вы используете таблицу пользовательских данных, то вы можете написать процедуру аутентификации пользователя, я использую таблицу пользовательских данных для хранения членов, и я VALIDATE с помощью процедуры 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 
2

Response.Redirect() должен помочь вам на вашем пути

1

Put

protected void Login1_Authenticate(object sender, AuthenticateEventArgs e) 

{ 

// Validate From DB 
//After successful Validation 

Response.Redirect("Your Page name"); 

} 
+0

Спасибо за ввод при перенаправлении. Как вы проверяете логин с базой данных? Я использую стандартные таблицы, которые идут с помощью элемента управления входами. –

2

Предполагая, что вы используете поставщик членства:

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