asp.net-mvc – 使用令牌认证访问Web Api的MVC .NET cookie认证系统
|
我有一个Mvc 5客户端拥有自己的cookie认证。
好的,现在我的Mvc 5客户端需要使用我的WebApi。 internal async Task<string> GetBearerToken(string siteUrl,string Username,string Password)
{
HttpClient client = new HttpClient();
client.BaseAddress = new Uri(siteUrl);
client.DefaultRequestHeaders.Accept.Clear();
HttpContent requestContent = new StringContent("grant_type=password&username=" + Username + "&password=" + Password,Encoding.UTF8,"application/x-www-form-urlencoded");
HttpResponseMessage responseMessage = await client.PostAsync("Token",requestContent);
if (responseMessage.IsSuccessStatusCode)
{
TokenResponseModel response = await responseMessage.Content.ReadAsAsync<TokenResponseModel>();
return response.AccessToken;
}
return "";
}
在我的Mvc行动中,我呼吁: public async Task<ActionResult> Index()
{
var token = await GetBearerToken("http://localhost:6144/","teste","123456");
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Authorization","Bearer "+ token);
var response = await client.GetAsync("http://localhost:6144/api/values");
if (response.IsSuccessStatusCode)
{
var data = response.Content.ReadAsAsync<IEnumerable<string>>();
return Json(data.Result,JsonRequestBehavior.AllowGet);
}
}
}
这一切都很好…但我需要使用Web Api在我的所有行动… 谢谢 解决方法如果我正确的话,您的MVC 5客户端应用程序正在访问不同应用程序的WebAPI。MVC 5客户端使用cookie来验证用户。要访问WebAPI,您可以从/ Token端点获取承载信号,并将其发送到授权标头。 您不要从客户端Javascript代码调用WebAPI,您只需要在MVC操作的MVC操作运行MVC5应用程序的服务器上调用它。 在每个服务调用声音错误之前获取一个新的令牌。这意味着每次两次往返。这不能执行。 如果我是对的,你可以: >将令牌存储在Session对象中。只要您的MVC应用程序的用户进行身份验证,并且他的会话仍然存在,那么您将始终拥有相同的令牌。 我将使用会话存储。简单。直向前 希望这可以帮助你。反馈赞赏:-) (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 如何将IoC成员资格提供程序与ASP.NET MVC集
- asp.net-mvc – AspNet上的Kestrel vNext不提供索引页/
- 为什么Asp.Net MVC 5在_Layout.cshtml的底部放置@ Scripts.
- ASP.NET登录页面重定向问题
- asp.net – 如何使一个TextBox控件是多行不可调整大小?
- asp.net-mvc – 我在MVC 5 Visual Studio 2013中的“创建强
- asp.net – 有没有办法动态更新Web API CORS中允许的来源列
- asp.net-mvc-3 – 在MVC3中使用Page.User.Identity.Name
- asp.net – 嵌套的web.config转换
- asp.net – jQuery的ajax正在导致FireFox的全页刷新
- asp.net-mvc-3 – 使用ViewData将字符串从Contro
- asp.net-mvc – 编译MVC并预编译视图并部署到Azu
- asp.net – 使用web.config进行密码保护的文件夹
- asp.net-mvc – 使用RedirectToAction传递模型和
- 是否可以使用ASP.NET ScriptManager来使用Window
- asp.net-mvc-3 – ASP.NET AJAX.BeginForm发送多
- Asp.Net成员 – 实体框架4中的提供商
- 深入理解Asp.Net中WebForm的生命周期
- asp.net – 如何禁用.NET事件日志警告?
- asp.net-mvc – ASP.NET MVC Html.RadioButton异
