c# 角色提供程序使用特定角色登录

本文关键字:定角色 登录 程序 角色 | 更新日期: 2024-10-25 12:02:11

我尝试为我的应用程序实现登录。用户可以有多个角色(查看者、操作员、管理员等)。但是他必须选择一个他想要登录的角色,所以他可能有管理员权限,但他可以作为没有管理员权限的"查看者"登录。

现在的问题是,如果我尝试使用管理员的 RequiredRole 属性保护某些功能,则如果用户以查看者身份登录,即使他具有管理员权限,也应该无法访问此功能。

这样的救世主是否得到了框架的支持,或者以前有人做过类似的事情吗?

无论如何感谢您的帮助

c# 角色提供程序使用特定角色登录

您尚未指定当他以查看者身份登录时尝试执行需要管理员的操作时要发生的情况,但由于您可以实现自己的角色提供程序,因此这很容易做到。

您应该能够在会话或用户主体对象中存储一些内容,说明"可用角色"(例如,其中一些角色将无法选择管理员),然后存储另一个用于选定角色的内容。 您需要做的就是将一些页面放入您的网站,以允许用户选择其当前角色。

由于你将使用自己的角色提供程序,因此只需实现这一点,即可在检查角色时从会话(或用户主体)中提取相关信息。 您仍然可以根据需要使用 RequiredRole 属性。

有一些示例可以说明当您无权将您重定向到 403

页面时,如何更改将您重定向到登录表单的行为(例如,拥有 ASP.NET 会员资格,我如何显示 403? 然后,您可以在此页面上显示一些内容,如果用户有可用的角色,则可以切换到更高的角色。