2012-01-17 3 views
2

Я новичок в разработке ASP.NET и веб-приложений. Я пытаюсь реализовать это, я храню файл на веб-сервере и должен предоставить ссылку файла пользователю для загрузки файла. Процесс ссылки и «загрузки» прост, но я хотел сделать его более безопасным, так как ссылка проходит через страницу входа в систему, а затем пользователь вводит свои учетные данные, если успех, то файл будет автоматически загружен.Страница входа в систему перед тем как скачать файл

Кто-нибудь знает, с чего начать, или какое имя этого метода/обработки для меня, чтобы начать мое исследование.

Спасибо.

ответ

0

Вы можете использовать проверку подлинности на основе форм. Это стандартный способ обработки входа пользователя в asp.net. На официальном сайте Asp.net есть несколько простых руководств: http://www.asp.net/web-forms/tutorials/security

0

donot напрямую ссылается на этот файл. вызовите страницу asp, которая будет читать и записывать содержимое файла

к потоку вывода. Все это делается на page_load (отправитель, событие); но перед чтением или записью содержимого файла просто проверьте, есть ли в переменных сеанса имя пользователя или пароль или идентификатор пользователя или что-то еще. если нет ничего такого, перенаправляйте на login.aspx.

0

Вы можете использовать ASP.NET forms authentication для аутентификации пользователя, и после процесса автореализации вы можете перенаправить пользователя на страницу загрузки.

1

В методе страницы Page_Load проверьте значение Session["IsLoggedIn"] или Session["LoggedInUserId"], где эти переменные сеанса установлены на вашем методе BttnLogin_Click вашей учетной записи.

login.aspx

<asp:TextBox ID="TxtBxUserName" runat="server"></asp:TextBox> 
<asp:Button ID="BttnLogin" runat="server" Text="Login" OnClick="BttnLogin_Click"/> 

Login.aspx.cs

protected void BttLogin_Click(object sender, EventArgs e) 
{ 
    // guarantee that a user with the given username(TxtBxUserName.Text) exist 
    // find the id of the user 
    Session["LoggedInUserId"] = userId; 
    //or just do 
    Session["IsLoggedIn"] = 1;// I use 0 and 1 for this kind of job  
} 

Не забывайте, что вам нужно установить 0 в Session["IsLoggedIn"] и установить -1 (для недопустимого идентификатора) в Session["LoggedInUserId"].

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

if(Session["IsLoggedIn"].ToString() == "1") 
{ 
    // download 
} 
else 
{ 
    Response.Redirect("Login.aspx"); 
} 
+0

Спасибо, это действительно помогло мне начать работать. – ChiSen

+0

@ChiSen удачи друг. – Bastardo

+0

Привет, мне удается загрузить файл через javascript, вопрос в том, является ли это подходящим методом для реализации этого? Javascript - это что-то вроде этого: 'code'function downloadFile() { var s = queryString (" fn "); var f = "/ webapp/et /" + s; if (s.length> 1) { window.open (f, "Скачать"); } } 'code' – ChiSen