如何在首页上添加身份验证

时间:2018-11-03 17:24:43

标签: c# asp.net-core

我编写了一个控制台应用程序(包括webhost)。这是一个包含此程序配置的页面。问题是路由的外观如何,以便在打开起始页(例如index.html)之后,授权将起作用。我将所有www内容放入wwwroot文件夹并使用:

app.UseDefaultFiles();
app.UseStaticFiles();

然后我设置具有基本身份验证的ConfigureServices。

[授权]用于保护其他路线。

[Authorize]
[Route("api/command")]
public class ValuesController : Controller
{
...
}

我没有使用IISExpress,所以没有launchUrl选项。

有没有“把戏”? [Route("")]之类的东西?打开时仅提供简单的用户名和密码,例如本地主机:5000。

顺便说一句,也许它可以和某些模板一起使用:

 [Authorize]
    public IActionResult Index()
    {
         return View();
    }

感谢任何想法。

1 个答案:

答案 0 :(得分:1)

使用UseDefaultFiles()似乎是不可能的。

但是您可以:

  1. 添加app.UseMvcWithDefaultRoute();(或自行创建mvc路由)
  2. 创建剃须刀页面并从您的页面复制内容(我的情况)
  3. 使用所需的身份验证类型并添加到控制器中:

[Authorize] [Route("/")] // when MvcWithDefaultRoute

或使用AuthorizePage(LIazar答案)