我正在ASP中使用新的Razor页面.净核心2

我try 了这个,但页面没有重定向:

public class IndexModel : PageModel
{
    public void OnGet()
    {
        string url = "/.auth/login/aad?post_login_redirect_url=" + Request.Query["redirect_url"];

        Redirect(url);
    }
}

如何重定向?

推荐答案

你们很接近了.这些方法需要返回IActionResult(异步方法需要返回Task<IActionResult>),然后您需要返回重定向.

public IActionResult OnGet()
{
    string url = "/.auth/login/aad?post_login_redirect_url=" 
      + Request.Query["redirect_url"];

    return Redirect(url);
}

Razor pages documentation

然而,你有一个巨大的Open Redirect Attack,因为你没有验证redirect_url变量.Don't use this code in production

Asp.net相关问答推荐

ASP.NET多行查询文本框中的多个名称并将结果添加到单个网格视图

如何使用 Get-Process powershell 命令通过端口号获取进程的 ID

Swashbuckle 通过 .NET 应用程序中的 XML 注释使用格式标识符

Windows 命令行中的/p:是什么意思

$(document).ready 不工作

DBSet 不包含 Where 的定义

log4net 记录所有未处理的应用程序错误

更改 GridView 中列的标题文本

Automapper - 映射器已初始化错误

由于缺少定义,在 .net Core 应用程序上构建失败

FluentValidation 使用数据库的唯一名称验证

如何从 JS 访问 ViewBag

Windows 运行 ASP.NET 的 IIS 替代方案

获取页面上特定类型的所有 Web 控件

如何针对异常需求自定义 ASP.NET Web API AuthorizeAttribute

如何将数据集转换为数据表

不同域的登录页面

ASP.NET MVC 路由的无限 URL 参数

ASP.NET:在 Response.Redirect(...) 之后代码会发生什么?

Facebook 连接和 ASP.NET