我最近构建了一个MVC5Web站点作为前端原型,并使用个人帐户进行身份验证。我现在需要建立一个WebApi2后端,将服务于这个网站以及一个iPhone应用程序,以及多个其他客户端。我对MVC site和WebApi的身份验证感到困惑。
我希望所有的用户管理都通过WebApi (它将使用令牌)来进行,这样它就与客户端无关,但是我不知道在没有我的身份类的情况下,网站端的Cookie身份验证将如何工作。看起来我会用MVC站点和WebApi来复制代码。我想对mvc站点使用cookie,对webapi使用oauth令牌。我需要创建另一个像IdentityProvider这样的项目来管理它吗?或者只使用MVC和WebApi项目就可以用一种干净的方式来实现它。谢谢!
编辑:我主要对如何管理用户身份感到困惑,因为用户既可以通过MVC站点登录,也可以通过WebApi请求登录。我需要能够以统一的方式生成UserIdentity和claims,而当我同时使用MVC个人帐户模板和WebApi2个人帐户身份验证模板时,我会感到困惑。我希望将用户、声明等存储在亚马逊网络服务托管的MongoDB实例中。
发布于 2015-12-16 01:04:37
这两个模板(mvc和api)都使用SigninManager和UserManager。标准的用户管理器实现基于SQL Server和Entity Framework。
如果您想在MongoDB上管理用户数据,最好的解决方案是使用您自己的UserStore来至少实现IUserStore和IUserRoleStore接口,或者使用this nuget包
对于UserManager,您可以使用标准实现。
你使用的Asp.net identity是开源的,你可以在Codeplex上看看(在GitHubMVC6上的那个)。
我认为处理你的场景的最好方法是:
的所有步骤
希望这能有所帮助!
发布于 2015-08-30 08:36:53
可以将会员资格提供商看作是独立的,独立于用于开发应用程序的技术。身份验证是身份验证,它不依赖于特定的技术。
http://www.asp.net/identity/overview/getting-started/aspnet-identity-recommended-resources
https://stackoverflow.com/questions/31822990
复制相似问题