ASP.NET MVC 5 Identity 2.0、Windows Auth、具有角色属性的用户模型

2023-12-29

我正在尝试创建一个使用 Windows 身份验证但使用从用户模型中提取的角色的 MVC5 应用程序。

我到处搜索示例,但我能找到的唯一示例是基于旧的 ASP.NET 身份框架的。

有人愿意指出我正确的方向吗?

Thanks!


所以我想出了一种方法来解决这个问题。我创建了一个自定义授权属性来检查角色的用户模型。

using System.Linq;
using System.Web;
using System.Web.Mvc;
using App.Models;
using System.Security.Claims;

namespace App.Extensions.Attributes
{
    public class AuthorizeUser : AuthorizeAttribute
    {
        Context context = new Context();

        protected override bool AuthorizeCore(HttpContextBase httpContext)
        {

            if (httpContext == null) 
                return false;

            string login = ClaimsPrincipal.Current.Claims.ElementAt(1).Value.Split('@')[0];
            string[] roles = base.Roles.Split(',');
            User user = context.Users.FirstOrDefault(u => u.Login == login);

            if (user == null)
                return false;
            else if (base.Roles == "")
                return true;
            else
                return roles.Contains(user.Role.ToString());
        }
    }
}

想法?

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

ASP.NET MVC 5 Identity 2.0、Windows Auth、具有角色属性的用户模型 的相关文章

  • 使用 ASP.Net MVC 实现 .Net OpenId

    我下载的样本是从DotNetOpenId http code google com p dotnetopenid 与我创建新应用程序时获得的 MVC 1 0 应用程序有不同的文件 我对 MVC 和 openId 很陌生 我遇到的所有示例都非
  • asp.net MVC - 如何通过不同的存储库类共享 SqlConnection 的同一实例

    我正在使用 MVC5 和普通 ADO NET 创建一个新项目 只是作为学习练习 我需要创建一个存储库 用于注册一个模型 其中包含几个也需要同时创建的相关对象以及这些对象反过来可能需要插入其他对象 我能想到的最简单的解决方案是拥有一个庞大的方
  • ASP.NET MVC HttpException 消息未显示在客户端上

    我正在使用 asp net mvc 构建 RESTful Web api 它返回纯 json 数据 在我的客户端上 我使用backbone js 与其进行通信 我的问题是 如何在 JavaScript 中捕获消息 例如 如果用户没有删除权限
  • 使用 SignalR 检测“服务器离线”

    我们尝试在低带宽环境中使用 SignalR 在该环境中 与后端服务器的连接可以随机出现和消失 并且我们希望我们的 Web 应用程序能够做出适当的响应 看起来这个连接 API 在过去的一年里一直在变化 但根据最新的文档 我尝试连接 conne
  • MVC WebGrid 设置渲染的ID

    使用 MVC 3 中的 WebGrid 如何在呈现时指定控件的名称 即呈现时表的 id var someGrid new WebGrid source Model Users defaultSort Name rowsPerPage 50
  • Google Analytics API 显示页面浏览量

    使用 NET MVC 3 我想在网站的每个页面上显示页面视图 我已经设置了谷歌分析 我知道有一个 API 但不知道从哪里开始 有什么指示可以说明我需要什么 更具体地说 要查看什么来显示页面视图 在 Views Shared 文件夹中创建一个
  • 即使在不活动状态下,Hangfire 也会继续运行 SQL 查询

    我正在开发一个 ASP net MVC 5 网站 并使用 Hangfire 来安排一些任务 在本例中每 3 分钟一次 我知道一个事实是 运行这样的任务 以及与之相关的数据库查询 只需要几秒钟 我面临的问题是 Hangfire 似乎让我的 S
  • 如何在mvc视图中的表中显示数据库数据

    在我的 MVC 应用程序中 我从数据库检索数据 我想在表格中显示退役数据 控制器代码 public ActionResult MyAccount var user User Identity Name string sThumbnails
  • 将复杂类型数组添加到 RouteValueDictionary

    我想知道是否有一种优雅的方法将复杂类型数组添加到 RouteValueDictionary 或兼容类型 例如 如果我有一个类和一个操作 public class TestObject public string Name get set p
  • 将自定义 ValueProviderFactories 添加到 ASP.NET MVC3?

    我试图尝试将 Protobuf ValueProviderFactory 添加到 MVC3 以便我可以选择 MIME 类型并将原始数据反序列化为操作参数的对象 我还可以使用它来更改默认的 Json 序列化器 看着JsonValueProvi
  • filters.Add 与 FilterProviders.Providers.Add

    我遇到了一个示例 MVC3 代码 其中包含以下内容Global asax file public static void RegisterGlobalFilters filters Add new MyFilter1 var provide
  • 从业务逻辑类重定向 asp.net mvc 页面

    我在业务逻辑层中调用一个静态方法 出于我在这里不会提及的目的 该方法需要自行进行重定向 而不是将信息返回到控制器以进行重定向 我认为我需要使用 HttpContext 对象 但正在努力创建路由 我不能简单地执行 context Respon
  • 如果 ModelState 无效,ASP.NET MVC AJAX 更改 UpdateTargetId

    我使用的视图内部有两个部分视图 div div div div 第一个部分视图 RenderMatchesListRowUserControl 呈现一个简单的 div 元素 用于匹配列表 第二个部分视图 AddNewMatchUserCon
  • 删除高图表上的导出和打印按钮插件

    我正在使用 MVC 目前正在使用 highchart 我正在使用 Exporting js 以便用户可以打印或导出 highchart 图表 我的视图中有两个图表 我想禁用其中一个图表的打印和导出 我怎样才能做到这一点 Exporting
  • 如何使用Dapper获取存储过程的返回值?

    我在 asp net mvc 4 项目 net f w 4 6 1 中使用 Dapper 使用 sql server 2016 Express
  • HiddenInput(DisplayValue = false)] 与 [ScaffoldColumn(false)]

    究竟是什么ScaffoldColumn false and HiddenInput DisplayValue false 这两者之间的主要区别是什么 用哪一款最好 谢谢 ScaffoldColumn false 告诉 Visual Stud
  • Durandal KO 绑定视图问题

    我的 Durandal 视图模型像这样工作 define function require var http require durandal http return subjectItem function data var self t
  • 如何在MVC4中隐藏URL参数

    http localhost 49397 ChildCare SponsorChild 83 这是当我单击表中的操作链接并重定向到编辑操作时生成的链接 现在我想隐藏 URL 中的数字 83 我怎样才能实现这一点 我正在使用 VS2010 M
  • 我收到“缺少 using 指令或程序集引用”的消息,并且不知道出了什么问题

    我试图允许用户将数据输入到将添加到 web config 文件中的文本框中 我已将相关行添加到 web config 文件中 但是当我创建此类时 一切都会出错 每当我尝试运行我的应用程序时 我总是收到是否缺少 using 指令或程序集引用错
  • 在 Angular 6 和 ASP.net 中启用 CORS

    我正在尝试从 Angular 6 应用程序向发送电子邮件的 API 发送 POST 请求 我用邮递员测试了该请求并且它有效 但是当我在 Angular 应用程序中执行 POST 请求时 我的控制台中出现错误 我在 Angular 应用程序中

随机推荐