.NETCore web项目(非MVC),如何设置默认主页为Login?

LvBao_117 2019-01-07 11:19:09
如标题,默认情况下,首页是Pages下的index,我想改成Login,不知道怎么改
分不多,大家见谅


...全文
1826 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
落单枫叶 2021-03-10
  • 打赏
  • 举报
回复
这里的思路是这样的:访问任何页面,如果需要登录才能访问,则跳转到登录页面。AspNetCore的解决方案是这样的:添加它的标识基架(Identity),在Startup.cs文件里添加LoginPath = "/Identity/Account/Login"(可能已经自动添加了),然后在任何需要登录才能访问的页面的class前添加 [Authorize] 这就行了!!! services.ConfigureApplicationCookie(options => { // Cookie settings options.Cookie.HttpOnly = true; options.ExpireTimeSpan = TimeSpan.FromDays(888); options.LoginPath = "/Identity/Account/Login";// 就是这里 options.AccessDeniedPath = "/Identity/Account/AccessDenied"; options.SlidingExpiration = false; }); [Authorize]// 就是这里 public class IndexModel : PageModel
m0_46312795 2020-06-30
  • 打赏
  • 举报
回复
你好, 我是这几天在学Razor页面, 您说的非MVC应该指的是Razor吧, 我是通过重定向解决的, 具体是在Index.cshtml.cs中新建
public IActionResult OnGet() { return RedirectToPage("Login"); }
方法, 这样这样当进入Index页面时, 就会直接重定向至Login页面.
EdsionWang 2019-01-08
  • 打赏
  • 举报
回复
还是在Startup.cs里面改,不过这种方式Pages目录下不能有Index.cshml了,http://servername:port 会匹配到两个Action。

  public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc()
                .AddRazorPagesOptions(options => {
                options.Conventions.AddPageRoute("/Login", "");
                }); 
        }
LvBao_117 2019-01-08
  • 打赏
  • 举报
回复
"myApp": {
"commandName": "Project",
"launchBrowser": true,
"applicationUrl": "https://localhost:5001;http://localhost:5000",
""
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}


请问3#大侠,是在这里吗?
具体该怎么做呢?

要增加上图中的某项吗?


  • 打赏
  • 举报
回复
在Properties下launchSettings.json中,设置applicationUrl呢
LvBao_117 2019-01-08
  • 打赏
  • 举报
回复
引用 1 楼 EdsionWang 的回复:
Startup.cs里面加默认路由配置,把Action由Index换成Login

app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Login}/{id?}");
});
感谢大哥回复。不过,我这不是MVC,是web应用。
就是说,没有controler和view,是Razor页面,我是初学,也许说的不够明白


内容都在Pages下,例如login.cshtml,对应一个login.cshtml.cs这种的。默认主页就认这个index
EdsionWang 2019-01-08
  • 打赏
  • 举报
回复
Startup.cs里面加默认路由配置,把Action由Index换成Login

        app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default",
                    template: "{controller=Home}/{action=Login}/{id?}");
            });

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧