问题标签 [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.
c# - 注册时将用户添加到角色
我正在使用 asp.net 应用程序中的内置注册模块来注册新用户。我正在尝试在用户注册时为其设置角色,但由于某种原因,我无法访问后端代码中的文本框控件以将新用户添加到所选角色,我正在尝试使用此代码查找文本框也是,但它返回 null,这意味着找不到控件:
此外,这是 register 模块的 html 标记:
知道我在做什么错吗?谢谢,拉齐尔
asp.net - ASP.NET Membership/Roles - 如何将用户链接到多个应用程序/角色?
我正在做一个项目,将一个大型网站分解为更小、更具体的网站。我需要能够将对这些站点的访问限制为只有具有必要权限的用户,并且希望尽可能利用现有的成员资格/角色数据模型。
因此,理想情况下,我想将潜在的多个应用程序(如 aspnet_applications 表中定义的)和应用程序特定角色 (aspnet_roles) 分配给单个用户。但是,aspnet 成员模型似乎不允许这样做,因为 aspnet_users 和 aspnet_membership 记录包含特定的 applicationID。
如何将单个用户分配给多个应用程序/角色?
asp.net-mvc - Asp.net 4 MVC3松耦合角色和动作
对于一个项目,我正在制作一个 mvc3 asp.net 应用程序。我想要实现的功能之一是松散耦合的角色 - 动作属性。基本上管理员用户应该能够创建角色并将它们与操作链接。
角色本身存储在数据库中。
我想知道以下方法中的某些东西是否可行:
你有什么意见?
谢谢
*更新** 嗨,我最近在使用数据库上下文时发现了上述设计的一些可能的缺陷。由于自定义属性的生命周期大于或等于控制器的生命周期,因此在实例化属性时调用新存储库可能会由于存储库的内部状态而导致可能的差异和安全漏洞(如果这使用例如 dbContext )。
EG 数据库已更新,新角色的新操作,但存储库未刷新...
所以它看起来像,在这种情况下:
希望这可以帮助
asp.net - ASP.Net 成员资格:在列表框中列出角色
我正在尝试组合一个自定义用户更新页面,以便您可以在一个页面上更新用户的电子邮件、密码和角色。我被角色困住了。我已经列出了角色,但我想在列表框中选择分配给用户的角色。
在这种情况下,每个用户将只有一个角色。
我试过玩弄Roles.GetRolesForUser("userName");
没有太多运气。
这是列表框代码:
这是列表框的数据绑定:
什么是最容易让它工作的?
asp.net - 如何制作角色和管理用户?
在我的项目中,我需要定义 3 个角色:
- 超级管理员
- 行政
- 注册会员
我还有一个名为“用户”的表,它存储以下信息:
- 名字
- 姓
- 生日
- 用户名
- 密码 。. . 等等
当用户尝试登录网站时,如何让角色识别哪个用户是哪个角色?
asp.net-mvc-3 - ASP.NET MVC 3:管理互联网应用程序中的用户和角色
当我现在想为我的 MVC 3 互联网应用程序管理(创建/删除/编辑)用户和角色时,我需要去服务器上的 inetmgr 并在那里更改 .NET 角色/.NET 用户。
是否可以从 MVC 3 互联网应用程序本身管理这些用户和角色(无需访问服务器本身的 inetmgr)?
应该做哪些改变(我猜是做 AccountController)?
提前致谢
asp.net-mvc - 每个 Web 请求的 EF DbContext + Custom RoleProvider = 每个 Web 请求的 RoleProvider 还是单例?
使用封装在接口中的 EF DbContext
,为每个 Web 请求注入依赖项,以确保整个请求处理相同的上下文。还有一个自定义RoleProvider
,它使用DbContext
by 接口来自定义授权服务。
到目前为止,我一直在使用服务定位器模式来解析DbContext
customRoleProvider
的无参数构造函数中的实例。这导致了一些小问题,因为它RoleProvider
是单例的,因此它可能会DbContext
无限期地保留 a 而其他请求可能希望在Application_EndRequest
.
我现在有一个基于此的解决方案,尽管使用了与 windsor 不同的 ioc 容器。我可以使用 DIRoleProvider
为每个 http 请求新建一个自定义实例。
我的问题是,我应该吗?
有一个开放的DbContext
悬挂RoleProvider
似乎很浪费。另一方面,我知道每个 MVC 都会AuthorizeAttribute
命中RoleProvider
(如果它有一个非空Roles
属性,我们大多数人都会这样做),所以我想已经有一个DbContext
等待的可能很有用。
另一种方法是为不是每个 web 请求注入不同DbContext
的。RoleProvider
这样DbContext
,只为 web 请求而存在的 s 可以在最后被处理,而不会影响单例RoleProvider
。
哪种方法更好,为什么?
评论后更新
史蒂文,这基本上就是我所做的。唯一的区别是我不依赖System.Web.Mvc.DependencyResolver
. 相反,我在自己的项目中基本上有相同的东西,只是名称不同:
这些类是项目核心 API 的一部分,并且与 MVC 位于不同的项目中。这样,其他项目(连同域项目)就不需要依赖System.Web.Mvc
它来编译它的DependencyResolver
.
鉴于该框架,到目前为止,使用 SimpleInjector 替换 Unity 已经很轻松了。下面是多用途单例 RoleProvider 设置的样子:
网络配置:
IoC 容器:
至于 CUD,我的中只实现了 1 种方法CustomRoleProvider
:
这是 MVC AuthorizeAttribute
(and IPrincipal.IsInRole
) 使用的唯一方法,在所有其他方法中,我只是
由于提供者没有角色 CUD 操作,我不担心交易。
asp.net - FluentSecurity 是否取代了 Asp.Net 会员提供者,或者它应该与它互补/一起工作?
我在一个 Asp.Net MVC4 站点上工作,我想创建一个由 Redis 提供支持的成员资格。因为我需要用户权限是动态的 - 用户可以在管理仪表板中创建新角色 - 我正在考虑按照这个 SO 问题ASP.NET MVC3 Role and Permission Management -> With运行时权限分配。
所以,我的问题是:FluentSecurity 是取代 Asp.Net 会员系统(或基于会员提供者模式的自定义系统)还是要增强它?
c# - 以编程方式将用户登录到 asp.net 成员资格和角色?
我正在开发一个使用 Asp.Net 的成员资格和角色功能的 Asp.Net 4.0 Web 应用程序。
在应用程序中,将有三个角色可以访问登录页面,一个角色没有。
它应该工作的方式如下。
后端用户(具有三个特权角色之一)创建一个用户。在代码中,这是以编程方式完成的,而不是使用注册用户页面。创建用户时,他们会被添加到非特权角色中,为了清楚起见,该角色称为访问者角色。
然后,后端用户为新用户创建一个链接,格式为https://www.example.com?link=cc82ae24-df47-4dbf-9440-1a6923945cf2
当链接被访问时,应用程序将定位与查询字符串关联的用户,获取用户名和密码(经过适当的散列和加盐处理)并登录用户。
这就是我要撤消的地方。到目前为止,用户创建工作正常,基于查询字符串值的数据库查询正在完成它的工作并返回相关的信息位,这一切似乎都很好,除了实际登录。似乎没有一种以编程方式登录用户的明确方法,而无需经历让用户自己登录的繁琐工作,我已被明确告知要避免这种情况。
这是我的代码,“pers”对象是一个类,当它们登陆链接的默认页面时从数据库中填充:
现在,我已经根据数据库表本身检查了用户名和密码的值,一切都是正确的。我知道存储在 aspnet 表中的密码已经过加盐和散列,所以我正在检查我创建的临时表中的值以保存明文。这是正确的。此外,在上面的代码中,FormsAuthentication.SetAuthCookie 方法要求输入用户名和密码——在本例中,用户名是电子邮件地址。在调试期间检查时,此信息也是正确的。
我应该指出,我们发送的链接几乎是一次性链接。每次更改与该特定用户相关时,链接参数的值都会更改,旧链接将完全无用。他们将被重定向到的页面将包含与该特定用户直接相关而不与其他用户直接相关的文档。
但是,我们仍然需要 Asp.Net Membership、Profiles 和 Roles 框架的好处,因为“访问者”很可能有几个链接发送给他们,随着时间的推移,不同的文档和文档版本会被添加和更改。
谁能想到更好的方法?到目前为止,我已经在这里和这里查看了大多数相关条目,但它们似乎都有些不完整。
编辑
使用从此处接受的答案中收集的信息,我似乎至少部分解决了这个问题
本质上,问题是我的 web.config 成员资格部分需要被告知要使用哪种散列算法。目前,我不知道默认的是什么,如果有的话,但是添加
到 web.config 至少允许我登录添加上述行后创建的用户。下一步是让我了解为什么我无法让其他用户登录。
但是,我仍然收到 Joe 建议的 ThreadAbortException,我现在正忙于解决这个问题。
asp.net-mvc - 根据角色隐藏链接
我是 asp.mvc 的新手。我正在尝试开发一个门户来维护员工数据。在我的系统中,只有“经理”有权创建员工。如何在经理登录时启用链接并在员工登录时禁用链接。谢谢
我的观点