Asp.net mvc 5 从一个控制器重定向到另一个控制器后,无法在mvc中接收User.Identity.name值。如何解决这个问题?
重定向到仪表板(另一个Asp.net mvc 5 从一个控制器重定向到另一个控制器后,无法在mvc中接收User.Identity.name值。如何解决这个问题?,asp.net-mvc-5,Asp.net Mvc 5,重定向到仪表板(另一个控制器)后,我能够从登录名控制器获取用户.Identity.Name值。我无法接收用户.Identity.Name值(我获取空值值) 下面是我的代码:- [HttpPost] public async Task<ActionResult> SignInCallback() { var token = Request.Form["id_token"]; var state = Request.Form["state"
控制器
)后,我能够从登录名控制器
获取用户.Identity.Name
值。我无法接收用户.Identity.Name
值(我获取空值
值)
下面是我的代码:-
[HttpPost]
public async Task<ActionResult> SignInCallback()
{
var token = Request.Form["id_token"];
var state = Request.Form["state"];
var claims = await ValidateIdentityTokenAsync(token, state);
var id = new ClaimsIdentity(claims, "Cookies");
Request.GetOwinContext().Authentication.SignIn(id);
string Id = System.Web.HttpContext.Current.User.Identity.Name;
return Redirect("/Dashboard");
}
返回后重定向(“/仪表板”);我得到空值我得到了这个问题的解决方案。而不是
返回重定向(“/Dashboard”)代码>我们必须将重定向URL添加到Response.Redirect(“/Dashboard”)
将URL添加到响应后,我们返回正常返回视图()代码>在此之后,我能够在仪表板控制器中接收user.identity.name
值。
public ActionResult Index()
{
string Id = System.Web.HttpContext.Current.User.Identity.Name;
return View();
}