如何从 URL 获取用户名和密码

mat*_*att 0 c# asp.net

用户名和密码来自这样的 URL:

https://theuser:thepassword@localhost:20694/WebApp
Run Code Online (Sandbox Code Playgroud)

p.s*_*w.g 5

创建一个Uri然后获取UserInfo属性:

var uri = new Uri("https://theuser:thepassword@localhost:20694/WebApp");
Console.WriteLine(uri.UserInfo); // theuser:thepassword
Run Code Online (Sandbox Code Playgroud)

如有必要,您可以在 上拆分:,如下所示:

var uri = new Uri("https://theuser:thepassword@localhost:20694/WebApp");
var userInfo = uri.UserInfo.Split(':');
Console.WriteLine(userInfo[0]); // theuser
Console.WriteLine(userInfo[1]); // thepassword
Run Code Online (Sandbox Code Playgroud)

请注意,如果您尝试在 ASP.NET 请求的上下文中获取当前用户,最好使用提供的 API,例如HttpContext.User

var userName = HttpContext.Current.User.Identity.Name;
Run Code Online (Sandbox Code Playgroud)

或者,如果这是在网络表单中,只需:

protected void Page_Load(object sender, EventArgs e)
{
    Page.Title = "Home page for " + User.Identity.Name;
    }
    else
    {
        Page.Title = "Home page for guest user.";
    }
}
Run Code Online (Sandbox Code Playgroud)

至于密码,我建议您不要在用户通过身份验证后直接处理密码。