2012-04-24 4 views
0

Я пытаюсь защитить паролем сайт asp.net, я сделал это хорошо, однако если они положили /home.aspx в конце адреса, тогда он будет перейдите на страницу входа в систему, есть ли способ сделать эти другие страницы доступными только через кнопки, и если они будут доступны напрямую, они перенаправят вас на страницу входа?Пароль, защищающий сайт asp.net, используя страницу входа в систему

БЛАГОДАРЯ

+0

Вам необходимо предоставить дополнительную информацию. Какую технику вы используете для входа? Пожалуйста, покажите нам пример кода – Curt

+0

. В настоящее время я использую жесткий пароль и имя пользователя, что подходит для такого рода сайтов, которые я делаю, что мне нужно сделать, это остановить /home.aspx и т. Д., Написанные в конце URL-адреса перейдите на страницу входа. – Sophie

ответ

0

В момент входа в систему вы должны начать сеанс. Это некоторый код, который я использовал в одном из моих школьных проектов

> public void LoginUser(string id, string mail, string ww, string admin) 
>  { 
>   Session["UserID"] = id; 
>   Session["IsAdmin"] = admin; 
>   if(admin == "admin") 
>   { 
>    Response.Redirect("~/Admin/AdminCP.aspx"); 
>   } 
>   else if (admin == "user") 
>   { 
>    Response.Redirect("~/User/UserCP.aspx"); 
>   } 
>   else 
>   { 
>    lblLoginError.Text = "An error has accurred"; 
>    lblLoginError.Visible = true; 
>    lblLoginError.CssClass = "failureNotification left"; 
>   } 
>  } 

Это способ, которым я использовал обнаружение, если пользователь был администратор или основной пользователя. После этого, на каждой странице в Page_Load-разделе вы должны добавить

> if (Session["UserID"] == null) 
>   { 
>    Response.Redirect("~/Account/Login.aspx"); 
>   } 

Это будет проверять каждый раз, если сеанс Идентификатор_пользователя работает. Если он пуст, логин никогда не происходил, поэтому пользователь будет перенаправлен на страницу, где он может войти в систему.

Надеюсь, что это помогло ;-)

0

, если вы не используете какой-то другой способ .. только Checkout документацию asp.net поставщика членства на сайте MSDN:

http://msdn.microsoft.com/en-us/library/ff648345.aspx

если вы прокрутите до дна это то, что вы ищут, но эта страница дает всю необходимую информацию.

0

Вы можете сохранить состояние входа в систему в сеансе и проверить на загрузку страницы или pre init для флага isLoggedin, который устанавливается только в том случае, если они успешно вошли в систему. Это не помешает им переходить непосредственно на страницы, если они вошли в систему, но не будут их устранять, если они не являются.

+0

Не могли бы вы дать мне пример кода для этого? Когда вошедшие в систему пользователи могут видеть все страницы, то, что вы говорите, будет идеальным. – Sophie

+0

К вашему скрипту регистрации просто добавьте что-то вроде Сессия ["LoggedIn"] = "true" и на загрузку страницы или onInit просто введите if (Session ["LoggedIn"] == null || Session ["LoggedIn"]. ToString()! = "True") { response.redirect // на странице входа } – ReiMasuro

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