首页 新闻 会员 周边 捐助

在ASP.NET Core中如何使用UseCookieAuthentication将所有的未登录请求跳转到LoginPath

0
[已解决问题] 解决于 2017-05-10 23:57

因为是后台系统 所以必须登录才可以操作 在之前的ASP.NET MVC下 只需要在web.config中添加下面的代码就可以将所有的未登录请求重定向到login

<authentication mode="Forms">
  <forms name="CupidCome" defaultUrl="~/" loginUrl="~/login" protection="All" path="/" />
</authentication>
<authorization>
  <deny users="?" />
  <allow users="*" />
</authorization>

在ASP.NET Core MVC中如何将所有的未登录请求重定向到/Account/Login呢?

app.UseCookieAuthentication(new CookieAuthenticationOptions()
{
  AuthenticationScheme = "MyCookieMiddlewareInstance",
  LoginPath = new PathString("/Account/Login/"),
  AccessDeniedPath = new PathString("/Account/Forbidden/"),
  AutomaticAuthenticate = true,
  AutomaticChallenge = true
});

三大神捕之四的主页 三大神捕之四 | 初学一级 | 园豆:55
提问于:2017-05-09 00:16
< >
分享
最佳答案
1

使用 AuthorizeFilter + AuthorizationPolicy :

services.AddMvc(options =>
{
    var policy = new AuthorizationPolicyBuilder()
        .RequireAuthenticatedUser()
        .Build();

    options.Filters.Add(new AuthorizeFilter(policy));
});
奖励园豆:5
dudu | 高人七级 |园豆:30757 | 2017-05-10 18:38
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册