使用参数登录asp.net重定向

时间:2011-02-13 10:23:25

标签: c# asp.net authentication redirect login

我正在编写登录页面,其中login是默认的“Admin”,密码是从xml文件读取的(FileUpload控件)。

如何重定向到主页,并知道该文件的路径是什么(“FileUpload.Name”)?哪种重定向方法是合适的? (好像用参数重定向......但是怎么样?

3 个答案:

答案 0 :(得分:3)

您的问题不明确,但在成功登录后将用户重定向回手册页:

//I assume a bool variable UserIsValid which you set after validating the user
if (UserIsValid)
{
    //If user was redirected back to login page then go back to requested page
    if (Request.QueryString["ReturnUrl"] != null)
    {
        FormsAuthentication.RedirectFromLoginPage("User_name", false);
    }
    else
    {
        //Set an Auth cookie
        FormsAuthentication.SetAuthCookie("User_name", false);
        //And then redirect to main page with you parameters if any
        Response.Redirect("mainPage.aspx?prameter1={0}&parameter2={1}", param1, param2);
    }
}    
else
{
    //User was not valid, do processing
}

答案 1 :(得分:1)

您可以通过Server.MapPath

获取放置在应用程序文件夹中的文件的物理路径

让我们举一些例子

[ROOT_FOLDER] /FileName.ext

string physicalPath = Server.MapPath("~/FileName.ext");

如果文件位于文件夹中 [ROOT_FOLDER] /App_Data/FileName.ext

string physicalPath = Server.MapPath("~/App_Data/FileName.ext");

物理路径将包含如下字符串

<强> C:\网站\ MyXYZ \ FILENAME.EXT

现在您要重定向到 Home.aspx

Response.Redirect("~/Home.aspx");

如果要发送任何查询字符串参数,只需在之前附加字符串,并用&amp;

分隔
// append as many as required

Response.Redirect("~/Home.aspx?myParam1=" + param1Variable + "&param1=" + param2Variable);

为什么不尝试asp.net内置控件,ASP.NET Login Controls Overview

How to: Create an ASP.NET Login Page

Configuring an ASP.NET Application to Use Membership

建议;如果您找到了访问文件和重定向的简单解决方案,请不要对asp.net登录控件感到奇怪。

答案 2 :(得分:-1)

检查this article是否将用户重定向到另一个页面,它解释了重定向与差异的方法。

您可能会发现This question有用