我有一个简单的登录表单,POST
到/ token,检索令牌并将其存储在本地javascript变量中。
关于此$.ajax()
POST
的成功,我想重定向到/ About,但我需要在重定向的标头中传递令牌,因为我的某些菜单项仅在用户被授权,IE:
@if (User.IsInRole("external"))
{
<li>
@Html.ActionLink("About", "About", "Home")
</li>
}
...等
我有一个简单的登录表单,用于处理用户名和密码,以及调用/ token端点并返回身份验证令牌的JS,然后意图重定向到/ home:
<form id="userLogin">
<label for="txtUserName">UserName: </label>
<input type="text" id="UserName" name="UserName" />
<label for="txtPassword">Password: </label>
<input type="password" id="Password" name="Password" />
<br />
<input type="button" id="btnLogin" class="btn" value="Sign In" />
</form>
var signIn = function () {
var signinUrl = "http://localhost/QRG.MVC/token";
var signInData = $("#userLogin").serialize();
signInData = signInData + "&grant_type=password";
debugger;
$.ajax({ type: "POST", url: signinUrl, data: signInData, success: saveAccessToken });
};
var token = "";
var saveAccessToken = function (data) {
token = data.access_token;
debugger;
$.redirect("/QRG.MVC/Home/About", { 'Authorization': 'Bearer ' + token });
// also tried using the myRedirect function below:
// myRedirect("http://localhost/QRG.MVC/Home/About", "Authorization", "Bearer " + token);
};
var myRedirect = function (redirectUrl, arg, value) {
var form = $('<form action="' + redirectUrl + '" method="post">' +
'<input type="hidden" name="' + arg + '" value="' + value + '"></input>' + '</form>');
$('body').append(form);
debugger;
$(form).submit();
};
这会将我重定向到401 Unuthorized
(关于)
是否可以重定向到另一个页面,但首先将Auth Bearer令牌添加到标题?
由于