C# 使用Windows身份验证进行身份验证但使用自定义数据库进行授权的最佳做法是什么?

C# 使用Windows身份验证进行身份验证但使用自定义数据库进行授权的最佳做法是什么?,c#,.net,asp.net-mvc,authentication,C#,.net,Asp.net Mvc,Authentication,我想使用Windows身份验证对用户进行身份验证,因为这将是一个intranet站点。但是,我想根据我自己在数据库中设置的授权规则对用户进行授权。我不想使用AD中的角色来定义授权组,我将拥有自己的自定义授权规则 我的计划是创建AuthorizeAttribute的扩展,并通过重写AuthorizeCore()方法来执行额外的检查 是否有更好的方法和建议来实施上述内容 我将使用MVC 5,并在不久的将来将其升级到MVC 6。这是您的场景通常采用的方式。在MVC和WebApi之前,我见过通过AD进行

我想使用Windows身份验证对用户进行身份验证,因为这将是一个intranet站点。但是,我想根据我自己在数据库中设置的授权规则对用户进行授权。我不想使用AD中的角色来定义授权组,我将拥有自己的自定义授权规则

我的计划是创建AuthorizeAttribute的扩展,并通过重写AuthorizeCore()方法来执行额外的检查

是否有更好的方法和建议来实施上述内容


我将使用MVC 5,并在不久的将来将其升级到MVC 6。

这是您的场景通常采用的方式。在MVC和WebApi之前,我见过通过AD进行身份验证(为什么要重新发明轮子)和通过特定于应用程序的角色/权限进行授权的系统。嗨,Samuel,你说的是身份验证还是授权?您可以通过AD进行身份验证,并通过“授权”属性提供的自定义角色使用您的授权。您还可以在请求通过控制器之前编写自定义模块来处理此问题。