问题标签 [isinrole]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
234 浏览

linq - 过滤记录列表 User.IsInRole MVC

我有 16 个不同的角色,我正在尝试根据用户角色过滤列表。我希望有一种方法可以使用 LINQ 进行过滤,但我不确定最好的方法。

在发布之后它进入一个索引页面,我试图过滤这些列表,我认为我完全错误:/。这是我正在加载记录列表的索引页面。我还过滤分配给一个人的案例,它工作正常。但是如何过滤这些权限以显示一个人有权访问的记录?

任何帮助将非常感激。
谢谢亚当

0 投票
2 回答
942 浏览

c# - User.IsInRole 为 Admin 工作,但对其他用户为 false

在我的 _Layout.chtml 中,我想根据用户角色在导航栏上显示菜单。简而言之,我有“管理员”和“用户”角色。这是我在 _Layout.html 中的代码

问题是,当我以“管理员”角色登录用户时,我可以看到菜单。但是当我使用“用户”登录时,什么也没有。好像 (User.IsInRole("User")) 是假的。用户身份验证成功(没有“密码错误”警告)。这可能是什么原因?

更新:这是我到目前为止所尝试的。1.将用户(具有“用户”角色)角色更改为“管理员”,用户可以看到菜单。2.更改代码的排列方式(如果“用户”.....否则“管理员”),仍然是“用户”)用户看不到菜单。

当我使用“管理员”用户登录时,它将重定向到主页并出现菜单。当我使用“用户”用户登录时,它将停留在登录页面上,用户名文本框完整,密码文本框空白,并且没有任何警告

当我使用“Admin”用户登录时,“User.Identity.IsAuthenticated”为真。使用“用户”,其为 False。

在所有控制器中,我添加了这个... [Authorize(Roles = "Admin,User")]

……一切都无济于事。

0 投票
2 回答
414 浏览

c# - IsInRole 获取新的安全令牌

我正在使用 WindowsPrincipal 的 IsInRole 方法来检查 WPF 和 Winforms 应用程序中的组成员身份。我正在生成一个身份令牌,它可以用于任何 AD 用户(不一定是实际登录到计算机的用户 - 取决于我在做什么,我不一定要进行身份验证,我只使用基本信息级令牌(我认为它的正确名称是“身份令牌”)。

第一次在特定计算机上运行此代码时,操作系统会为指定的用户生成身份令牌。然后 IsInRole 函数使用该令牌来验证组成员身份。它很快,所以我真的很喜欢它。但是,创建 WindowsIdentity/WindowsPrincipal 的后续调用会引用现有令牌,而不是创建新令牌。我知道如何更新令牌的唯一方法是注销计算机或重新启动(这会清除令牌缓存)。有谁知道重置缓存身份令牌的更好方法?

示例代码 C#:

VB:

0 投票
0 回答
300 浏览

asp.net - User.IsInRole 仅适用于 AD 组 SID(而不是组名称)

如果我只使用 Windows 授权,我可以轻松使用 User.IsInRole("Web Developers") 没有问题。但是,当我添加 SQL 角色提供程序时,如果我使用组的 SID,User.IsInRole 只会返回 true(对于 Active Directory 组)。

这似乎不是预期的行为。我已经看到通过 SID 进行查询在性能方面更好,但是当人类可读的名称可用时,使用机器可读的 SID 进行编程似乎不是最理想的。

我的解决方法是编写一个按名称查找 SID 的方法,并将其传递给 User.IsInRole(降低性能),我想避免这种情况。

任何人都可以提出解决方案,或指出正确的方向吗?

0 投票
0 回答
274 浏览

c# - mvc signalr chat - 身份用户角色作为前缀

所以我在使用 MVC Identity 用户角色作为我的信号员聊天中的前缀时遇到了麻烦。

这是视图中脚本标记内的 jQuery。

风景:

但现在的情况是,当管理员查看聊天时,输入聊天的每个人都会获得 HIM 的管理员前缀,反之亦然。

有什么办法可以使这项工作吗?

谢谢你的帮助。

0 投票
1 回答
158 浏览

vb.net - 在 vb.net 中迁移到 4.6.2 框架后,My.User.IsInRole() 不起作用

目前我正在处理一个迁移请求,我们需要将框架从 3.5 更改为 4.6.2。这里的问题是在更改以下方法的框架后未按预期显示结果。 My.User.IsInRole()正在回归null

任何人都可以为上述建议等效代码,或者请建议在我的 Visual Studio 中解决问题的步骤。早些时候我遇到了问题My.User.Name并将代码更改为Environment.Username但为此我无法找到一些替代方法。

0 投票
1 回答
146 浏览

vb.net - My.user.IsInRole 总是返回 false

目前,我正在处理一个迁移请求,我们需要将框架从 3.5 更改为 4.6.2。这里的问题是在更改以下方法的框架后未按预期显示结果。My.User.IsInRole()总是返回假。

另外,我使用以下代码进行了测试:

但没有运气。有人可以帮我解决上述问题。

如果您希望我提供更多信息,请告诉我。

0 投票
2 回答
409 浏览

vb.net - My.User.IsInRole 返回 false

我试图将 vb.net 应用程序从 .net 框架 2.0(Visual Studio 2008)迁移到 .net 框架 4.7.0(Visual Studio 2017)。这里的问题是,IsInRole检查当前用户是否是 Visual Studio 2008 中角色的一部分的方法工作正常。但是当我在 Visual Studio 2015 或 2017 中打开相同的代码时,它False会作为结果返回。问题不仅在于IsInRole,还在于它My.User.Name在最新的 Visual Studio 中返回 null 。有人可以建议解决这个问题的方法吗?PS:我们不应该做太多的代码更改。以下是问题。

VS 2008回归True 在此处输入图像描述

VS 2017回归False 在此处输入图像描述

我也试过下面的代码(它也不能正常工作)

在一个 MSDN 门户网站中,有人提到它对他也不起作用,并告诉我向微软提出一个错误。但不确定它是一个错误还是我的方法是错误的......

0 投票
1 回答
1508 浏览

asp.net-mvc - 如何在 ASP.NET MVC 5 中更改和应用当前用户的角色

我将首先介绍导致我遇到角色授权问题的步骤。

首先,我在我的委托人中添加 2 个角色HomeController.cs

角色已成功添加到数据库中。

然后我在注册任务中将角色添加到新注册用户AccountController.cs

角色User已成功分配给新用户(在表中AspNetUserRoles:)

然后,如果我将此用户角色更改为Admin这样:

并像这样在我的视图(Razor)中检查它:

并通过在我的 HomeController 中检查它[Authorize(Roles = "Admin")]

然后它失败了两次。if(User.IsInRole("Admin"))返回 false 并且[Authorize(Roles = "Admin")]也不允许我访问它下面的方法。

此外,这个新注册的用户只是User角色,因为[Authorize(Roles = "User")]工作并且if(User.IsInRole("User"))也返回 true。

奇怪的是IList<string> roles

实际上,当通过添加新角色时正确返回新角色列表,_userManager.AddToRole(userId, "Admin");因此具有默认角色User的用户现在只有 1 个角色Admin(因为我删除了以前的角色),这看起来很合逻辑并且有效。

如果您知道为什么我的默认角色User不能按照上面的方式更改,请发布您的答案,谢谢。

0 投票
2 回答
77 浏览

c# - User.IsInRole("Admin") 在 _Layout.cshtml 中总是返回 false

在 layout.cshtml 我正在检查当前用户是否是管理员。如果是这样,则显示不同的菜单。但是,即使使用管理员登录,它也总是返回 false。我正在使用下面的代码: