2016-04-13 5 views
0

私は、PostgreSQLデータベースを使用している、無許可のアプリケーションを持っています。 ASP .NET Webアプリケーションで新しいソリューションを作成し、「個別のユーザーアカウントを使用する」を選択し、別のPostgreSQLデータベース(AspNetテーブルのみを格納)と連携するように管理しました。外部のAPI(PostgreSQL)でユーザを認証するためにASP .NET MVCアイデンティティアプリケーションを使用する

私がしたいこと: 私のAPIでアクションを許可するには、ユーザーにaspウェブアプリケーションでログインさせる必要があります。たとえば、承認が必要なコントローラアクションを呼び出すと、私はaspアプリケーションのログインページにリダイレクトされたいので、ロギング後にすべての権限でメインアプリケーションに戻りたいと思っています。 http://www.asp.net/web-api/overview/security/external-authentication-services

しかし、うまくチュートリアルで説明したものは何もないようにまだ私が感じる:私はこのような何かを作成したいよう が見えます。私はサーバアプリケーションに何を入れるのか、私のApiに入れるべきものを手に入れません。

+0

...このようなものの中に男のブログをお勧めしますか –

+0

でもどんなコードですか?私はVSテンプレートからアプリケーションを作成し、EF用にNpgsqlとNpgsqlをインストールし、Web設定を変更し、Npgsql用のIdentityDBContextを作成し、IDテーブルを持つdbを作成しました。メインアプリケーションでは、両方のアプリケーションを接続するものはありません。 – DiSaSteR

+0

@DiSaSteR質問はちょっと混乱します。あなたは* 1つの* Webアプリケーションかそれ以上のものを持っていますか?多くの場合、なぜですか?あなたは本当に別の仮想ディレクトリやサーバーにそれらを展開したいですか?そうでない場合は、クラスプロジェクトを持つ*単一の* Webアプリケーションですか? –

答えて

2

私は質問を理解していますが、私がしている場合、これはあなたを助けるかもしれません。

すべてのアイデンティティを保持するが、ビジネスロジックを持たない独自の認証サーバー(エンドポイントを持つアプリケーションのみ)を実装することができます。

これには2通りの方法があります。メインアプリケーションにログイン画面が表示され、認証サーバーに認証情報が送信され、トークンが返されます。ユーザーがメインアプリケーションからデータを要求し、そのデータが公開されていない場合は、認証サーバーにリダイレクトされます。 twitter、googleなどで第三者のログインのようなものをユーザーに記録する。ここで

は、あなたが探しているものかもしれませんリンクされている。

https://identityserver.github.io/Documentation/

希望これは

EDIT役立ちます:多分私は質問を理解していないよ、再び

を。私が上で説明したものを探している人を助ける別のリンクがあります。このリンクは、WebAPI、JWTトークン、Authorization、Angularなどの一連の記事の記事を指しています。あなたなら、私は非常にあなたがここにあなたのいくつかのコードを投稿してくださいことはできますか?

http://bitoftech.net/2014/09/24/decouple-owin-authorization-server-resource-server-oauth-2-0-web-api/

+0

私はまだどこにもいません。私は何も見つけることができません。ユーザー、ロールなどを持つAspNetテーブルについては何もありません。/ – DiSaSteR

+1

IdentityServerは、トークンを発行するためにのみ使用できるスタンドアロンアプリケーションです(ユーザーの認証/承認)。あなたの主なアプリケーション(httpで送信されたデータ)。これがあなたが探しているものでない場合は、私はあなたの質問を言い換えることを提案し、あなたが探しているものを清算するビットを説明してください... – Pawel

関連する問題