asp.net-mvc – 具有多个应用程序的ASP.NET标识

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – 具有多个应用程序的ASP.NET标识前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
所以我们的组织正在使用asp.net mvc和web api开发一些新的web应用程序.我们决定不使用活动目录进行身份验证/授权,因此看起来像实体框架的asp.net身份可能会起作用.

查看数据库模式我没有看到应用程序表,因此我们可以拥有一个用于用户凭据和应用程序访问的中央存储库.这是声称进来的地方吗?那怎么样;用户 – > app – >角色 – >权限

另外,我们的目标之一是为用户提供单点登录.这是否可能与新的持票人令牌?

感谢您的任何帮助,您可以提供

解决方法

看一下本教程.它显示了如何使用Web API实现ASP.NET标识:

http://bitoftech.net/2015/01/21/asp-net-identity-2-with-asp-net-web-api-2-accounts-management/

至于处理多个应用程序.我想到的两种方法是:

>将AppId附加到所有用户名
>将一个AppId列添加到AspNetUsers表,从UserStore派生并重新实现基于查找的方法,以便查询考虑AppId

对于#1,当应用程序想要创建新用户时,它将向WebApi发送包含新用户信息和AppId的请求.然后,WebApi将连接UserName和AppId以创建将写入数据库的完整用户名.因此,如果应用程序1234想要使用用户名myuser创建用户,则WebApi将使用用户名myuser_1234创建新用户.从查询数据库的那一点开始,您将首先从请求中获取UserName和AppId,将它们连接起来,然后查询数据库.

如果另一个应用程序9900想要创建myuser,那么写入数据库的最终用户名将是myuser_9900.

您可能希望将应用程序详细信息存储在数据库中,并且每个请求都会验证AppId,以确保在处理其请求之前识别该应用程序.

我没有考虑过第二步,所以它只是一个建议.

如果您想在多个应用程序之间共享用户凭据,那么您可能会忽略上述内容,使用标准功能并让所有应用程序指向同一个数据库,从而允许所有应用程序访问所有用户,而不管哪个应用程序创建了哪个用户.

更新#1:在这种情况下,可以使用持有者令牌,我认为(从内存开始)上面提到的教程系列涉及到这一点以及单个WebApi如何为多个应用程序提供令牌.

猜你在找的asp.Net相关文章