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

5us2dqdw  于 12个月前  发布在  .NET
关注(0)|答案(3)|浏览(169)

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

https://theuser:thepassword@localhost:20694/WebApp

字符串

yacmzcpb

yacmzcpb1#

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

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

字符串
如果有必要,可以在:上进行拆分,如下所示:

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


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

var userName = HttpContext.Current.User.Identity.Name;


或者,如果这是一个Web表单,只需:

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


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

vi4fp9gy

vi4fp9gy2#

var str = @"https://theuser:thepassword@localhost:20694/WebApp";
var strsplit = str.Split(new char[] {':', '@', '/'};
var user = strsplit[1];
var password = strsplit[2];

字符串

oyxsuwqo

oyxsuwqo3#

您可以使用以下方法获取当前URI

string uri = HttpContext.Current.Request.Url.AbsoluteUri; //as u targeted .net

字符串
然后将其解析为普通字符串。
您将收到以下字符串:https://theuser:thepassword@localhost:20694/WebApp
你可以通过把字符串分成几段来得到你要搜索的信息。

var uri = "https://theuser:thepassword@localhost:20694/WebApp";
        var currentUriSplit = uri.Split(new [] { ':', '@', '/' });
        var user = currentUriSplit[3];
        var password = currentUriSplit[4];

相关问题