2014-10-15 2 views
1

Я работаю над asp.net с двумя страницами входа для Персонала и Студента. Когда вход успешно, пользователь будет отправлен на ДОБРО ПОЖАЛУЙСТА. Но проблема в том, что я использовал RedirectFromLoginPage если аутентификация прошла успешно. Вот для этого код.Реализовать RedirectFromLoginPage с двумя defaultUrl в asp.net

 protected void Buttontbl1_Click(object sender, EventArgs e) 
     { 

     if (AuthenticateUser(Textusertbl1.Text,textpastbl1.Text)) 
     { 
      FormsAuthentication.RedirectFromLoginPage(Textusertbl1.Text, CheckBoxtbl1.Checked); 

     } 
     else 
     { 
      errorlbl.Text="Invalid Username or Password"; 
     } 

     } 

Я дал defaultUrl как WelcomeStaff.aspx так, если аутентификация успешна пользователь перенаправляется на that.This это код в файле Web.config

 <authentication mode="Forms"> 
     <forms loginUrl="SelectUser.aspx" defaultUrl="welcomeStaff.aspx"/> 
     </authentication> 
     <authorization> 
     <deny users="?"/> 
    </authorization> 

Итак, я нужен которые должны быть реализованы,

  • Я хочу то же самое для другого входа.

    -Если успешной аутентификации пользователь должен быть перенаправлен на DefaultUrl = «WelcomeStudent.aspx»

  • Сво работает нормально для одного Вход Page.But я не знаю, как реализовать в течение двух ASPX страниц

    Итак, у нас есть два defaultUrl для двух файлов aspx? Есть ли другой способ реализации? Iam новой для asp.net.Plz help.Thanks заранее

ответ

0

Как я обычно имеют дело с такого рода ситуации настроить это приложение, чтобы вернуться на страницу редиректа (ех : redirection.aspx), который проверяет, проверен ли пользователь, и если да, перенаправит пользователя на другую страницу на основе роли. ex:

if (User.Identity.IsAuthenticated) 
{ 
    if(User.IsInRole("Student")) 
    { 
    Response.Redirect("WelcomeStudent.aspx"); 
    return; 
    } 
    else if(User.IsInRole("Staff") 
    { 
    Response.Redirect("welcomeStaff.aspx"); 
    return; 
    } 
} 

//For any other situation, return to login 
FormsAuthentication.RedirectToLoginPage(); 

Я надеюсь, что это вам поможет.

+0

Можете ли вы рассказать мне, что такое «Студент» в (User.IsInRole («Студент»)) @ mberube.Net – anusha

+0

В asp.net, когда вы хотите защитить ваше приложение для нескольких пользователей, типичный способ go - использовать RoleProvider, который отобразит ваших пользователей в роли. Затем вы можете защитить ресурсы или базовую бизнес-логику (как в моем примере) в роли. Если у вас есть другой способ проверить, является ли зарегистрированный пользователь студентом или сотрудником, вы можете поместить свою собственную логику. –

Смежные вопросы