如何使用 SimpleMembership 获取角色?

2024-01-24

我正在使用 SimpleMembership 开发 MVC4 应用程序。我有一个表“userInfo”,其中存储用户的信息,例如姓名、电子邮件、地址、电话、角色等。当我注册用户时,数据存储在该表和webpages_Membership 中。其他成员资格表(OAuthMembership、Roles、UserInRoles)中不存储任何数据。

当我登录用户时,将使用以下方法对其进行验证:

if (ModelState.IsValid && WebSecurity.Login(Model.Name, Model.Password, false))

它返回“True”,但在此之后,我需要获取注册用户的角色。

在 SimpleMembership 中,“Roles 和 UserInRoles”表是否提供注册的用户角色,或者我可以查询“userInfor”表并从此表中获取角色。

请指教

提前致谢


获取所有可用角色,假设您已启用角色并添加至少一个..

var roles = (SimpleRoleProvider)Roles.Provider;

var allRoles = roles.GetAllRoles();

获取特定用户的角色。

var userRoles = roles.GetRolesForUser("specificusername");

ref MSDN http://msdn.microsoft.com/en-us/library/8h930x07%28v=vs.110%29.aspx

Simple Membership 不附带任何现成的角色管理页面。您可以自己创建它们,或者直接通过 code/sql/ef 等管理它们。

代码示例...

检查并创建管理员角色:

if (!Roles.RoleExists("Admin"))
     Roles.CreateRole("Admin");

在创建时将用户添加到角色:

if (!Roles.GetRolesForUser("specificusername").Contains("Admin"))
     Roles.AddUsersToRoles(new[] {"specificusername"}, new[] {"Admin"});

ref 添加安全性和成员资格 http://www.asp.net/web-pages/tutorials/security/16-adding-security-and-membership

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 SimpleMembership 获取角色? 的相关文章

  • 如何使用 BoundFields 将 FooterTemplate 添加到 GridView

    希望您周末愉快 终于我有了一些编辑 删除事件器来与 LINQ 支持一起工作 我有一个添加记录事件 我知道它正在工作 但是在尝试了一部分之后 我不知道如何在页脚中添加一些文本框 所以它是从页眉到页脚的一行 没有向右或向左移动 有人可以帮助我吗
  • Owin 声明 - 添加多个 ClaimTypes.Role

    我有一个应用程序 可以在其中为用户分配以下角色 超级管理员 Admin User 一个用户可能分配了两个或多个角色 例如 超级管理员和用户 我的应用程序使用声明 因此我也想通过声明来验证用户角色 喜欢 Authorize Roles Adm
  • index.g.cshtml 在哪里

    我正在尝试完成本教程 但是 通常 当我构建解决方案时 我会得到一个CS0234错误指出文件中缺少命名空间Index g cshtml cd 但是这个文件存在于哪里呢 我努力了 所有构建 清理 重建解决方案选项 我已重新启动 Visual S
  • 使用 SendMessage 通过电子邮件发送文件附件而不保存文件

    我可以发送电子邮件和所有内容 但无法创建有效的 Attachment 放入我的电子邮件中 我在网上找到的所有示例都假设它以某种方式保存在我的计算机本地并通过路径链接它 但事实并非如此 在我的方法中 我使用 Winnovative 创建文件
  • 服务层设计。将事物放入服务层的原因

    我有一些与设计相关的问题 should service layer interfaces居住在一个domain layer 例如user service 将代码部分移动到单独层的主要原因是什么 should service layer居住在
  • 如何为客户端和服务器缓存设置不同的缓存过期时间

    我想让某些页面为客户端提供 10 分钟缓存 为服务器提供 24 小时缓存 原因是如果页面发生变化 客户端将在 10 分钟内获取更新版本 但如果没有任何变化 服务器只需每天重建一次页面 问题在于输出缓存设置似乎覆盖了客户端设置 这是我的设置
  • 如何在 Asp.Net 页面上的一处处理所有错误/消息?

    我在这里寻找一些指导 在我的网站上 我将内容放入 Web 用户控件中 例如 我将有一个新闻项控件 一个文章控件 一个联系表单控件 这些将出现在我网站上的各个位置 我正在寻找一种方法 让这些控件将消息传递到它们所在的页面 我不想将它们紧密结合
  • Microsoft.Extensions.Caching.Redis 选择与 db0 不同的数据库

    一个关于了解使用哪个redis数据库以及如何配置它的问题 我有一个默认值ASP NET Core Web 应用程序和默认配置的本地redis服务器 含15个数据库 通过包管理控制台我已经安装了 Install Package Microso
  • 包括过滤器子集合[重复]

    这个问题在这里已经有答案了 我在为 LINQ 查询中包含的项目添加一些过滤条件时遇到一些困难 我的查询就像 var item Context Order Include Inner Include Inner first Include I
  • 传入字典的模型项是类型

    我有一个我理解的错误 但无法找出以正确的方式解决的方法 我有一个 MasterPage 我从该 MasterPage 中调用 标签是一个强类型视图 如下所示 我像这样返回 PartialView return View Tags resul
  • 本地主机上的 .net HTTP_X_FORWARDED_FOR NULL

    抱歉 如果其他地方已经回答了这个问题 我找不到它 如果没有 我会尝试查找访问过该站点的机器的原始 IP 根据我的基本理解 变量HTTP X FORWARDED FOR无论代理和其他过滤器如何 都会显示用户的 IP 如果这是真的 我正在尝试对
  • ASP.NET MVC 中 ModelState.AddModelError 中的关键参数有什么意义?

    我在我的控制器中添加了验证检查来修改ModelState如果验证失败 例如 private bool ValidateMoney string raw string name decimal min decimal max try var
  • 带有 HttpContext 的 ASP.NET MVC 单元测试控制器

    我正在尝试为我的一个控制器编写一个单元测试 以验证视图是否正确返回 但该控制器有一个访问 HttpContext Current Session 的基本控制器 每次我创建控制器的新实例时 都会调用 basecontroller 构造函数 并
  • MVC 项目中的 .Rdlc 报告 - 托管调试助手“PInvokeStackImbalance”

    我即将完成并运行我的上一份报告 我在其他报告中没有遇到过这个问题 我正在尝试根据数据库记录创建报告 当我通过 LocalReport 创建报告并为报告创建参数时 收到错误消息 托管调试助手 PInvokeStackImbalance 调用
  • 古老的“字幕”标签的替代品?

    marquee 标签的标准等效项是什么 我正在寻找 HTML C asp NET 或 ASPX jquery java 脚本的解决方案 marquee 标签未包含在标准中 因为它是 视觉 标签 而不是 语义 标签 因此 您想要的任何语言都没
  • 当用户告诉浏览器“刷新”时,是否应该填写 HTTP_REFERER?

    我正在尝试使用引用标头检查作为深度防御 即多种安全技术之一 但请注意仅依赖于任何一种技术 有时 MSIE 似乎不包含刷新时的引荐来源网址 这是预期的行为吗 无论如何 我是否可以检测刷新 以便我知道缺少引荐来源网址是可以的 是的 我知道引荐来
  • 所需的防伪表单字段“__RequestVerificationToken”不存在 用户注册时出错

    我在用Membership create用户函数 然后发生以下错误 所需的防伪表单字段 RequestVerificationToken 为 不存在 我怎样才能解决这个问题 你有 ValidateAntiForgeryToken 执行操作之
  • 如何从 Visual Studio 将视图导航到其控制器?

    问题是解决方案资源管理器上有 29 个项目 而且项目同时具有 ASP NET MVC 和 ASP NET Web 表单结构 在MVC部分中 Controller文件夹中有大约100个子文件夹 每个文件夹至少有3 4个控制器 视图完全位于不同
  • 覆盖 jQuery 验证 MVC4 中的默认设置

    要覆盖查询验证插件 请在文件 http docs jquery com Plugins Validation validate toptions 推荐的方式是 selector validate invalidHandler functio
  • 将数组从 jquery ajax 传递到代码后面

    我必须将二维数组传递给在asp net网页代码后面编写的页面方法我有一个变量objList作为二维数组 我使用以下代码来实现此目的 但没有成功 并且未调用页面方法 脚本语言 function BindTable objList ajax u

随机推荐

  • Scala 中的 Any 类型无法将 java.lang.Integer 转换为 java.lang.Byte 错误

    我可以将 Int 数据转换为 Byte scala gt 10 asInstanceOf Byte res8 Byte 10 但是 对于 Any 类型中的相同值 转换会引发错误 scala gt val x Any 10 x Any 10
  • R 包 check() 警告:完整检查需要“checkbashisms”脚本

    今天 我尝试为软件包准备新的 CRAN 更新 并在执行时遇到警告devtools check 由于在我对包进行更改的情况下也会出现此警告 因此我假设这是一项新检查 不幸的是我并没有真正明白我应该做什么 这是错误消息 完整的检查需要 chec
  • 访问 Web 服务时出现 Http 502 Bad Gateway 错误

    我有一个 asp net 4 0 网站 我正在使用一些外部 Web 服务来检索我显示的一些数据 我使用 wsdl 工具为这些 Web 服务创建了代理 我正在设置一个 url 并在 Web 服务上设置 PreAuthenticate true
  • 如何从这段代码中绘制控制流图?

    int main int i grade 0 printf Enter points n scanf d i if i gt 50 i lt 60 grade 5 else if i gt 50 i lt 60 grade 6 else i
  • 根据用户限制字​​段的选择

    我希望表单仅在 ChoiceField 中显示当前用户的帐户 我尝试执行以下操作 但它不起作用 编辑 抱歉 我忘记提及我添加的 if kwargs 因为 TransForm 没有显示任何字段 我想这是错误的 但我不知道其他方法 视图 py
  • MySQL 无法连接到使用 Rubber 部署的 EC2

    我正在使用 ruby 来部署 Rails 应用程序 但在连接到 MySQL 时遇到问题 我是否必须在 EC2 上手动设置 MySQL 还是 Rubber 应该已经这样做了 虽然这并不是很有帮助 但以下是运行 rake 时的日志输出 out
  • 设置 时 POST 请求失败

    考虑以下情况 Web 服务器正在运行 NET 应用程序
  • 通过命令行替换 pom.xml 中的 Maven 属性

    我想替换 Maven 属性pom xml通过某些 Maven 插件使用命令行调用文件
  • 调用另一个对象的触摸开始iOS

    假设我有 view1 正在拦截触摸事件 而 view2 则没有 view1 可以将这些事件传递给 view2 并调用 view2 TouchesBegin view2 TouchMoved 等吗 是的 有时 也许 您所询问的技术被称为事件转
  • 有没有办法在 C# 中继续异常?

    当您的程序 在调试器中 发生意外异常时 有时您只想跳过它 因为此时终止程序比继续运行更有害 或者您只是想继续 因为您对另一个错误 错误更感兴趣 是否有选项 编译器标志 秘密开关来启用此功能 我知道应该立即解决异常 但在某些情况下 就像我所描
  • 如何使内联ckeditor工具栏固定在顶部而不是浮动

    我在我的页面中使用内联 CKEditor 我想将其固定在 contenteditable div 的顶部 目前 每当我滚动页面时它就会浮动 如何让工具栏位置固定在顶部 结合使用内联编辑器和共享空间 http ckeditor com add
  • 如何将模块添加到我的 SystemJs 配置文件中,以便我可以以角度导入它

    如何使用 SystemJS 和此 system config js 文件将我刚刚从 npm 下载的新包添加到我的 Angular 2 组件中 下面的代码是由入门包为我生成的 我尝试将模块的链接放在该文件的地图和包部分中 但它似乎不起作用 我
  • d3.js 如何从 csv 或表生成树层次结构

    我有一个包含以下数据的 csv world country state World US CA World US NJ World INDIA OR World INDIA AP 我需要转换为树层次结构 如下所示 name World ch
  • 在 Rails 中显示 404 而不是 500

    在我的 Rails 应用程序中 我定义了路线 以便用户可以访问类似的记录http mydomain com qwe2 http mydomain com qwe2 但如果他们输入错误的 qwe2 他们会得到 500 页 我认为404会更合适
  • 从文本文件的行范围中删除 \n 字符

    假设我们有一个 1000 行的文本文件 我们如何删除第20行到第500行的新行字符 例如用空格替换它们 My try sed 20 500p N s n better not to say anything 所有其他行 1 19 501 1
  • 如何在没有 MANIFEST.in 文件的情况下包含 package_data?

    我怎样才能包括package data for sdist没有 MANIFEST in 文件 我的 setup py 看起来像这样 import setuptools setuptools setup name foo version 20
  • “MEIPASS”代表什么?

    PyInstaller 设置sys MEIPASS属性让应用程序知道在哪里可以找到其捆绑的资源 来源 这个答案 https stackoverflow com q 7674790 119527 我知道什么 MEIPASS does 名字是什
  • SQL 日期范围分割

    你能告诉我当日期范围重叠时分割日期范围的 SQL 吗 数据 具有日期范围和可能的其他列的示例数据 Col1 FromDate ToDate 1 1 1 1 2008 31 12 2010 2 1 1 1 2009 31 12 2012 3
  • 更改 UIButton 内的 SF 符号大小

    我声明一个这样的按钮 let menuButton UIButton 之后 我尝试更改它的参数并在 LBTATools 一个 pod 的帮助下通过以下函数设置他在视图上的位置 fileprivate func setMenuButtonUI
  • 如何使用 SimpleMembership 获取角色?

    我正在使用 SimpleMembership 开发 MVC4 应用程序 我有一个表 userInfo 其中存储用户的信息 例如姓名 电子邮件 地址 电话 角色等 当我注册用户时 数据存储在该表和webpages Membership 中 其