问题标签 [asp.net-roles]

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 回答
419 浏览

asp.net - 从 GetUsersInRole 获取用户的全名

我正在使用 SQL 角色提供程序并获取“管理员”角色中的用户列表,我使用以下代码:

这给了我一个 AD 用户名列表。

如何获取用户全名(即名字+姓氏)。

任何建议表示赞赏!

0 投票
1 回答
863 浏览

asp.net - 更改用户角色后如何更改 Context.User

我正在研究创建和审查新用户的过程。用户注册后,他们会收到一个链接(包含带有令牌的查询字符串)到他们的电子邮件,以便他们可以验证他们的电子邮件地址。当用户单击该链接时,他们将被重定向到验证其信息的页面,然后将其角色从Guest更改为Member

工艺流程

电子邮件 > verifyEmail.aspx > 仪表板.aspx

当用户已经登录到 Web 应用程序并单击电子邮件中的链接时,他们的角色会相应更改;但是,当它们被重定向到dashboard.aspx 时,User.IsInRole("Member") 为假。注销后重新登录,User.IsInRole("Member") 为真。所以我的问题是,我怎样才能更新用户的身份,以及用户的上下文,而不强制他们退出然后重新登录?我猜它与角色的cookie有关?

代码

0 投票
1 回答
2205 浏览

c# - 如何过滤 ICollection关于 ASP.NET MVC 5 身份中的角色

我添加了 3 个角色:

  1. 管理员
  2. 职员
  3. 挂号的

现在我想显示所有Registered用户的列表。恐怕我没有得到身份系统,因为我正在尝试做这样的事情:

剧透警报:不工作的代码

这显然不起作用,所以我去寻找答案。不幸的是,我没有得到任何东西。我能找到的最接近的是 Scott Allen 的一篇文章,他提到IUserRoleStore它具有以下实现:

  • 将用户添加到角色
  • 获取用户的所有角色
  • 检查用户是否具有特定角色
  • 从角色中删除用户

但是,仍然没有得到它:/

我也尝试过这个问题中的方法,但是Roles.Select(r => r.Name).Contains("client")因为找不到 Name 属性而不起作用?

如何获取此 ApplicationUser 对象列表?

更新


肖恩的回答帮助我更深入地挖掘。我不确定这是最好的方法,但它可以满足我的需要。

如果这效率低下,我很想听听为什么以及如何改进它。

0 投票
1 回答
325 浏览

ninject - 使用 Ninject 进行 RoleProvider 注入

首先,我想说关于 SO 和 google 搜索有很多答案,但是我遇到了一个问题,阻止了这些解决方案的工作。这里的答案似乎是要走的路。( kernel.Inject(Roles.Provider);)

我遇到的问题是,当我尝试注入时RoleProvider Roles.Provider为 null,但是我的自定义提供程序位于Roles.Providers. 我认为 Ninject 正试图过早访问角色提供程序。

在我的NinjectWebCommon课堂上,它似乎是WebActivator用来启动自己的。[assembly: WebActivator.PreApplicationStartMethod(typeof(Admin.App_Start.NinjectWebCommon), "Start")]

看来我遇到的所有文章都使用旧版本的 Ninject 并且在 Global.asax Application_Start 中做了很多繁重的工作......使用我的实现如何让 DI 为自定义角色提供程序工作?

[Inject]在我的自定义提供程序中使用该属性。

0 投票
1 回答
1148 浏览

c# - 将 ASP.NET MVC5 身份角色添加到我现有的 Intranet 项目

我已经阅读了很多关于在 MVC5 中处理角色管理的身份方式的博客文章,但其中大多数似乎都集成了注册系统等。我想知道我是否可以简单地使用角色。

我有一个现有的 MVC5 项目,我从 Active Directory 中提取我的用户并将它们存储在自定义用户模型类中。是否可以将身份角色管理与这样的项目集成?

我是相当新的 ASP.Net MVC,到目前为止,这让我有些头疼。我是否必须使用扩展 IdentityUser 的模型类?如果是这样,我是否仍然可以使用我的活动目录用户并将 GUID、电子邮件、姓名等映射到该新类,然后使用角色来限制对我的应用程序视图的访问?

0 投票
3 回答
5742 浏览

asp.net-mvc - 用户不在角色时的 ASP.NET 登录重定向循环

我对在 ASP.NET MVC 5 中实现角色有点束手无策。我正在尝试以不具有访问我要访问的应用程序区域所需角色的用户身份登录。在这种情况下,我所期望的是,我会再次重定向到登录页面,直到我输入一组可以访问的凭据或导航到应用程序的另一个区域。

实际发生的情况是应用程序似乎进入了登录重定向循环,调试显示登录操作被多次调用。

这是登录操作:

这会导致 IIS 生成错误:

查询字符串如下所示:

我从一个工作解决方案(尽管没有基于角色的授权)到我当前的损坏情况所做的唯一更改是在成功登录时重定向到的控制器上方添加以下内容:

正如我之前所说,我登录的用户不是这个角色,但我希望一个理智的、单一的重定向到登录,没有循环。

编辑:请求bu @dima,通过过滤器应用的授权细节......我有以下内容:

但是,我已经测试了有无这条线的应用程序,并且重定向循环继续有增无减。

0 投票
1 回答
252 浏览

c# - 如果用户登陆受保护的页面,那么如何根据用户角色进行重定向?

我正在使用 Asp.net 身份。

目前系统中有7种类型或角色。一个用户只能有 1 个角色。如果该用户登陆他的角色没有权限的受保护页面,我如何根据用户角色设置重定向 URL?

例如Student角色的用户StudentTeacher.aspx。他没有被授权,所以默认是他被重定向到登录页面。但我更愿意根据他的角色将他重定向到其他地方,因为他已经登录了。

0 投票
1 回答
282 浏览

asp.net - 调用 UserManager.AddToRole 删除用户密码?

我对 MVC5/ASP.NET Identity 还很陌生,我发现了一个让我有点难过的问题。

我正在为我的 ASP.NET MVC5 应用程序编写一个小表单,该表单将允许管理员用户(管理员角色的成员)查看已注册到该站点的用户并编辑这些用户的详细信息并为其分配角色。提交表单时,如果已将角色分配给用户,则调用 UserManager.AddToRole 方法。

之后我注意到,一旦完成,该用户就无法登录应用程序。查看数据库,出现调用 AddToRole 时,PasswordHash 字段设置为 null。这是正常的吗?如果不是,我该如何解决这个问题?

供参考,我的相关代码如下

控制器

相关视图模型

0 投票
1 回答
321 浏览

asp.net - 有没有办法更新 User.IsInRole?

我已将我的用户角色添加到表单身份验证中,但我希望能够在需要时更改角色。

我了解 User.IsInRole 返回一个布尔值以检查它是否与给定的字符串/角色相符。比如,User.IsInRole("Administrator")。

但我希望能够在需要时改变角色..

有办法吗?

User.SetRole 什么的?

0 投票
0 回答
90 浏览

asp.net-mvc - asp.net mvc multitenant(多项目管理结构)

我正在寻找正确的词,但我相信它必须朝着 asp net multitenancy 的方向发展。

我不需要完整的多租户站点,但我想设计一个站点,不同部门的经理可以登录。这些经理就像他们部门中的管理员,可以添加用户并为其用户分配编辑、查看权限。或者我们可以认为这是一个有多个项目的网站。项目经理是每个项目的管理员,他/她可以为每个项目添加不同角色的新成员。

我怎样才能继续使用 asp 网络角色和成员资格来创建这样一个动态结构?

只要整个站点只有一个部门,就可以使用固定角色作为属性,但是对于多个部门,我需要动态知道该用户属于一个部门还是多个部门,它在这些部门中的角色是什么?

有什么好的教程可以让我开始吗?