我有一个简单的登录表单 POST s到/ token,检索令牌并将其存储在本地javascript变量中 .

关于这个成功 $.ajax() POST 我想重定向到/ About,但是我需要在重定向的 Headers 中传递令牌,因为我的一些菜单项只有在用户被授权时才可用,IE:

@if (User.IsInRole("external"))
    {
        <li>
            @Html.ActionLink("About", "About", "Home")
        </li>
    }

...等等

我有一个简单的登录表单,用于处理用户名和密码,以及调用/ token endpoints 并返回auth令牌的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" />
    
<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令牌添加到 Headers ?

谢谢