Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用ASP.NETMVC身份应用程序在外部API(PostgreSQL)中对用户进行身份验证_C#_Asp.net_Postgresql_Identity_Authorize - Fatal编程技术网

C# 使用ASP.NETMVC身份应用程序在外部API(PostgreSQL)中对用户进行身份验证

C# 使用ASP.NETMVC身份应用程序在外部API(PostgreSQL)中对用户进行身份验证,c#,asp.net,postgresql,identity,authorize,C#,Asp.net,Postgresql,Identity,Authorize,我有一个未经授权的应用程序,正在使用PostgreSQL数据库。 我用ASP.NETWeb应用程序创建了一个新的解决方案,选择了“使用个人用户帐户”,并将其管理为与另一个PostgreSQL数据库(仅存储AspNet表)一起使用 我想做的是: 我想通过强制用户登录asp web应用程序来授权Api中的操作。例如,当我调用需要授权的控制器操作时,我希望被重定向到asp应用程序中的登录页面,并且在登录之后,我希望带着所有授权返回主应用程序。 看起来我想创建如下内容: 但我仍然觉得在教程中没有很好

我有一个未经授权的应用程序,正在使用PostgreSQL数据库。 我用ASP.NETWeb应用程序创建了一个新的解决方案,选择了“使用个人用户帐户”,并将其管理为与另一个PostgreSQL数据库(仅存储AspNet表)一起使用

我想做的是: 我想通过强制用户登录asp web应用程序来授权Api中的操作。例如,当我调用需要授权的控制器操作时,我希望被重定向到asp应用程序中的登录页面,并且在登录之后,我希望带着所有授权返回主应用程序。 看起来我想创建如下内容:


但我仍然觉得在教程中没有很好的解释。我不知道该在服务器应用程序中放置什么,也不知道该在Api中放置什么…

我不确定我是否理解这个问题,但如果我理解了,这可能会对您有所帮助

您可能希望实现自己的授权服务器(只是一个具有端点的应用程序),它拥有所有标识,但没有业务逻辑

有两种方法可以做到这一点。您的主应用程序上有一个登录屏幕,该屏幕将凭据发送到您的身份验证服务器,然后该服务器返回令牌;或者,每当用户从您的主应用程序请求数据,而这些数据不是公共数据时,您将重定向到将用户登录到的身份验证服务器。。。类似于第三方登录twitter、谷歌等openid的东西

以下是您可能正在寻找的链接:

希望这有帮助

编辑:

再说一遍,也许我不理解这个问题。下面是另一个链接,可能会帮助寻找我上面描述的内容的人。该链接指向一篇关于WebAPI、JWT令牌、授权、Angular以及所有这些好东西的系列文章中的一篇。如果你喜欢这个东西,我强烈推荐这个家伙的博客


我不确定我是否理解这个问题,但如果我理解了,这可能会对您有所帮助

您可能希望实现自己的授权服务器(只是一个具有端点的应用程序),它拥有所有标识,但没有业务逻辑

有两种方法可以做到这一点。您的主应用程序上有一个登录屏幕,该屏幕将凭据发送到您的身份验证服务器,然后该服务器返回令牌;或者,每当用户从您的主应用程序请求数据,而这些数据不是公共数据时,您将重定向到将用户登录到的身份验证服务器。。。类似于第三方登录twitter、谷歌等openid的东西

以下是您可能正在寻找的链接:

希望这有帮助

编辑:

再说一遍,也许我不理解这个问题。下面是另一个链接,可能会帮助寻找我上面描述的内容的人。该链接指向一篇关于WebAPI、JWT令牌、授权、Angular以及所有这些好东西的系列文章中的一篇。如果你喜欢这个东西,我强烈推荐这个家伙的博客


您可以在这里发布您的一些代码吗?但是什么代码?我确实从VS模板制作了一个应用程序,为EF安装了Npgsql和Npgsql,更改了web配置,为Npgsql创建了IdentityDBContext,使用identity表创建了db。在主应用程序中,我没有连接两个应用程序的任何东西。@这个问题有点令人困惑。您有一个web应用程序还是多个?如果很多,为什么?是否确实要将它们部署到不同的虚拟目录或服务器?如果没有,为什么没有一个带有类项目的web应用程序呢?我有一个工作的web应用程序。现在,我希望它通过登录到另一个应用程序来授权任何操作,该应用程序将部署在IIS上。工作原理类似于使用facebook登录stackoverflow。你能在这里发布一些代码吗?但是什么代码?我确实从VS模板制作了一个应用程序,为EF安装了Npgsql和Npgsql,更改了web配置,为Npgsql创建了IdentityDBContext,使用identity表创建了db。在主应用程序中,我没有连接两个应用程序的任何东西。@这个问题有点令人困惑。您有一个web应用程序还是多个?如果很多,为什么?是否确实要将它们部署到不同的虚拟目录或服务器?如果没有,为什么没有一个带有类项目的web应用程序呢?我有一个工作的web应用程序。现在,我希望它通过登录到另一个应用程序来授权任何操作,该应用程序将部署在IIS上。工作原理类似于使用facebook登录stackoverflow。我仍然不在任何地方,我能找到的始终是关于单个应用程序的信息,而不是关于带有用户、角色等的AspNet表的信息:/IdentityServer是一个独立的应用程序,只能用于为您的主应用程序(通过http传输的数据)颁发令牌(验证/授权用户). 如果这不是你想要的,我建议你重新表述你的问题,解释清楚你想要的是什么…我仍然不知道,我能找到的总是关于单个应用程序,而不是关于用户的AspNet表,角色等:/IdentityServer是一个独立的应用程序,只能用于为主应用程序(通过http传输的数据)颁发令牌(验证/授权用户)。如果这不是你要找的,我建议你重新措辞你的问题,解释清楚一点你要找的是什么。。。