【问题标题】:Authorization in ASP.Net CoreASP.Net Core 中的授权
【发布时间】:2020-06-10 04:08:14
【问题描述】:

我正在开发一个管理仪表板面板,我为仪表板创建了一个介绍页面,用户可以在那里登录 我有四种类型的用户,Admin、SiteManager、PI 和 EndUser 成功登录仪表板后! 我还将管理区域用于名为“内容管理”的东西,只有管理员可以访问 但是当我尝试导航到此内容管理时,它会将我重定向到登录名(授权重定向循环),但用户已经登录(因为如果用户角色是管理员,则我设置了 If 条件,此内容管理显示)

我正在使用个人身份验证和脚手架身份 ASP .Net 核心 3.1 我不知道如何解决这个重定向问题!

在下面我放了一些代码

[Authorize(Roles =SD.SuperAdmin)]
[Area("Admin")]
public class HMController : Controller
{
    private readonly ApplicationDbContext _context;

    public HMController(ApplicationDbContext context)
    {
        _context = context;
    }

注意:如果条件在_layout页面中建议 并且管理区域使用另一种布局(不是_layout)! 另外,我已经检查了 Sqlserver 的角色和用户是否已创建并正常运行!

_layout 代码:

 @if (User.IsInRole(SD.SuperAdmin) || User.IsInRole(SD.ManagerUser))
                                {
                                    ...
                                                    @if (User.IsInRole(SD.SuperAdmin))
                                                    {
                                                        ..
                                                    }
                                               ...
                                }

【问题讨论】:

  • Authorize 属性对我来说似乎很好。您能否在_Layout.cshtml 中添加条件代码?以及如何将角色设置为用户?你用userManager.AddToRoleAsync(user, role)吗?
  • 我更新了我的问题,是的,我使用了用户 manager.AddToRoleAsync(user, role),有线的事情是用户已经登录但是什么时候尝试去查看它重定向的上述控制器的视图我登录(我已经用 [Authorize] 进行了测试,但没有任何改变@bmartins

标签: asp.net sql-server authentication asp.net-core authorization


【解决方案1】:

如果您在登录操作中检查登录用户并按角色路由用户。 你解决了这个问题

if (User.Identity.IsAuthenticated)
        {
            if (GetUserType() == "Admin")
                return Redirect("Admin/Index");
            else if (GetUserType() == "Context")
                return Redirect("Context/Index");
        }

例如:

  • 如果管理员登录系统然后如果管理员单击未授权页面然后重定向帐户/登录。
  • 帐户/登录页面检查用户登录
  • 如果用户登录,则重定向用户主页

【讨论】:

  • 我必须在哪里添加这个?
  • 在登录页面写入获取操作
猜你喜欢
  • 1970-01-01
  • 2020-09-25
  • 1970-01-01
  • 2021-10-27
  • 1970-01-01
  • 2018-04-03
  • 2015-05-17
  • 2023-03-12
  • 1970-01-01
相关资源
最近更新 更多