首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >重定向至ViewComponent中的asp.net核心同一性中的登录页面

重定向至ViewComponent中的asp.net核心同一性中的登录页面
EN

Stack Overflow用户
提问于 2019-05-14 02:52:57
回答 1查看 864关注 0票数 0

我正在尝试使我的视图组件只有在用户登录时才可访问。我正在检查用户是否未通过身份验证,然后重定向到登录页面,但以下代码显示错误

代码语言:javascript
复制
public IViewComponentResult Invoke(int? id)
        {

            if (!User.Identity.IsAuthenticated)
            {   
                return View("~/Areas/Identity/Pages/Account/Login.cshtml");
            }
//other stuff
}

但此代码在登录页面上显示错误

代码语言:javascript
复制
ArgumentNullException: Value cannot be null.
Parameter name: viewData

在检查loginviewmodel时,它只具有接受参数的重载构造函数

代码语言:javascript
复制
public LoginModel(SignInManager<IdentityUser> signInManager, ILogger<LoginModel> logger)

我想不出该怎么寄这些芝麻。或者有一种更好的方法可以重定向到登录页面

EN

回答 1

Stack Overflow用户

发布于 2019-05-14 03:17:51

你读过这个吗:https://docs.microsoft.com/en-us/aspnet/core/mvc/views/overview?view=aspnetcore-2.2

使用return View()时,ASP.net在Views文件夹中查找以控制器命名的文件夹,以及以方法命名的视图。因此,当您在AccountController的方法配置文件中使用return View()时,asp.net会在Views/Account/Profile.cshtml中查找视图。

view方法可以选择性地接受一个参数。这里你需要传递一个视图模型(你想要在视图中显示的数据)

此外,如果您想授权访问控制器方法,则应该使用基于角色或基于声明的授权:https://docs.microsoft.com/en-us/aspnet/core/security/authorization/roles?view=aspnetcore-2.2

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56118317

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档