[英]How can I replace ASP.Net's MVC4 View to scaffold out divs instead of tables
[英]How do I read the basic authorization in a ASP.Net MVC4 api GET request
我有一个电话应用程序,尝试使用RestSharp从我的Web API获取数据
private void ButtonTestTap(object sender, EventArgs e)
{
var client = new RestClient
{
CookieContainer = new CookieContainer(),
BaseUrl = "http://localhost:21688/api/game",
Authenticator = new HttpBasicAuthenticator("muhcow", "123456")
};
RestRequest request = new RestRequest(Method.GET);
request.AddParameter("id", 5);
//request.AddBody(5);
client.GetAsync<LoginResult>(request, (response, ds) =>
{
System.Diagnostics.Debug.WriteLine(response.StatusDescription);
System.Diagnostics.Debug.WriteLine(response.Data);
System.Diagnostics.Debug.WriteLine(response.Content);
});
}
然后,当我的api服务器收到此GET请求时,要读取Authenticator = new HttpBasicAuthenticator(“ muhcow”,“ 123456”),以便可以验证用户,但不确定如何读取数据。
我有这个
public class GameController : ApiController
{
// GET /api/game/5
public string Get(int id)
{
var sdf2 = ControllerContext.Request.Headers.Authorization.Parameter;
//return LoginManager.VerifyLogin(loginData);
return "Some data";
}
但是sdf2只是有一个奇怪的值“ bXVoY293OjEyMzQ1Ng ==”
该标头是base64编码的。 将Convert.FromBase64String()应用于它,您将看到其中的内容。
Authorization.Parameter是base64编码的。 您可以在此处查看如何对其进行解码的示例http://arcanecode.com/2007/03/21/encoding-strings-to-base64-in-c/
System.Text.Encoding.UTF8.GetString (Convert.FromBase64String (this.ControllerContext
.Request .Headers.Authorization.Parameter ))
结果是“ muhcow”,“ 123456”
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.