ASP.NET MVC 5中的身份验证和授权

use*_*358 23 asp.net claims-based-identity .net-4.5 visual-studio-2013 asp.net-identity

Asp.net MVC 5似乎已经放弃了使用AuthorizeAttribute类,您可以通过实现AuthorizeAttribute类来创建自定义授权属性,覆盖其方法并隐藏您希望在自己的角色中烘焙的SiteRole属性.我见过的所有例子都建议使用OWIN或身份框架.这些是在新的ASP.Net框架中进行身份验证和授权的两种方法吗?如果我采用老式的方式,我会错过任何事情吗?我不希望框架为我创建所有用户和角色表.如果我想将现有用户和角色表添加到新应用程序,该怎么办?

我还真的不认为在每个应用程序中都需要社交集成,并且我认为我不会立即需要它.是否有任何文章通过使用自定义授权属性解释了最起码,然后继续添加新的身份验证功能.我想要的东西基本上解释了选择了无身份验证或单个用户身份验证的新创建项目中的所有混乱.

Kev*_*ans 23

您仍然可以使用ASP.NET标识自定义MVC 5中的AuthorizeAttribute.在SimpleSecurity Project中有一个这样做的例子.这是一个可以用于控制器的自定义AuthorizedAttribute,这里是您可以用于Web API的自定义AuthorizeAttribute.这些自定义AuthorizeAttributes背后的概念是将您的安全模型与您在此处讨论的应用程序模型分离.Web API的一个也支持基本身份验证.

安全管道随着OWIN的引入而发生了变化,我确实遇到了一些关于Web API的AuthorizeAttribute行为的问题,这里将对此进行讨论.

您还可以在SimpleSecurity项目中找到有关将名为SimpleMembership的旧成员资格提供程序移植到MVC 5的示例.此处讨论了升级过程的一些问题.我确实让它工作,所以你可以使用旧的会员提供程序实现.但我的建议是使用ASP.NET身份,因为这是微软将支持的方式,它是一种更灵活的架构,它消除了旧的成员资格提供程序实现中发现的许多问题.