gpt4 book ai didi

c# - Mvc 起始页使用带有域的 azure 上的区域

转载 作者:行者123 更新时间:2023-12-03 02:37:26 25 4
gpt4 key购买 nike

我有一个使用区域的 mvc Web 应用程序。在我的开发机器上,网站启动时显示正确的页面。在我的 vs 工作室的设置中,我已将启动操作设置为我的区域。我无法让它在 azure 上工作。

起始区域是身份验证。

在 azure 上,我有一个自定义域,我们将其称为“mydomain.co.za”。当我调用该域时,它显示“找不到资源。”

我必须调用“mydomain.co.za/authentication”。

我需要它仅使用 mydomain.co.za 路由到身份验证web配置中是否需要特定的配置?请帮忙。

我认为可以通过重写规则来实现,但是,我正在努力适应这一点。

目前我有一个从 http 转换为 https 的规则,但不确定该区域适合在哪里

<directoryBrowse enabled="false" />
<httpRedirect enabled="false" destination="https://mydomain.co.za" exactDestination="true" />
<rewrite>
<rules>
<rule name="http to https" enabled="true" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://www.mydomain.co.za/{R:1}" redirectType="SeeOther" />
</rule>
</rules>
</rewrite>

我对 Azure 还很陌生,所以我也不确定这是否需要在 Web 配置中完成,或者我是否可以在 Azure Web 应用程序设置中配置它?

最佳答案

阅读您的描述后,我得出的结论是您想要的是Areas中的页面A.cshtml作为起始页面。区域区域中的启动页面需要身份验证。如果没有验证通过,则进入authentication.cshtml进行登录验证。

如果我的总结没有错误,那么你需要注意的点不是rewrite。它应该是实际的路由配置。具体操作步骤我将截图展示如下。已全部部署到azure进行测试,测试顺利通过。

您可以download my demo for test .

RouteConfig.cs

    public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

var route = routes.MapRoute("Default", "{controller}/{action}/{id}", new { controller = "Home", action = "Index", id = UrlParameter.Optional },
namespaces: new[] { "areaproj.Areas.Admin.Controllers" }
);
route.DataTokens["area"] = "Admin";
}

Areas/Admin/Views/Home/Index.cshtml(启动页面)

    public ActionResult Index()
{
bool IsAuth = false;
if (IsAuth)
return View();
else
return View("~/Areas/Admin/Views/Home/test.cshtml");
}

enter image description here

关于c# - Mvc 起始页使用带有域的 azure 上的区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62739198/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com