私はmvc5アプリケーションにカスタムログインを実装しています。一度私はユーザーからの資格情報を取得し、ポストを作成し、ユーザーを検証するためにトークンを取得しています。 Owin Tokenは別のクラスライブラリプロジェクトで実装しています。クラスライブラリからmvc5アプリケーションへのトークンベースの認証
[HttpPost]
[AllowAnonymous]
public ActionResult Login(UserLoginViewModel model)
{
string baseAddress = "http://localhost:4312";
Token token = new Token();
using (var client = new HttpClient())
{
var form = new Dictionary<string, string>
{
{"grant_type", "password"},
{"username", "jignesh"},
{"password", "user123456"},
};
var tokenResponse = client.PostAsync(baseAddress + "/otoken", new FormUrlEncodedContent(form)).Result;
//var token = tokenResponse.Content.ReadAsStringAsync().Result;
token = tokenResponse.Content.ReadAsAsync<Token>(new[] { new JsonMediaTypeFormatter() }).Result;
........
}
}
私はコール/ MVCアプリケーションからクラスライブラリプロジェクト内のトークンの実装をトリガするようにする方法を確認していません。クラスライブラリプロジェクトは実行可能なプロジェクトではないためです。別のクラスlibにトークンベースの実装を実装し、その実装を別のアプリケーション(mvcとwebapi)で利用する方法です。
私の層
UI(MVC) - >認証プロジェクト(Owinクラスlibarary) - >エンティティフレームワーク
任意のアイデア?
クラスlibararyでトークンを呼び出す方法。クラスライブラリが呼び出されないためです。私たちはただのWebプロジェクトしかできません。クラスライブラリでトークン実装を呼び出す方法 – SivaRajini
クラスライブラリをAPIで公開する必要があります。それは確かだ。あなたができることは、MVCとAPIの間でクラスライブラリを共有し、両方のトークンエンドポイントを公開することです。 OR、より良い、第3のAPIを作成し、それをリソースサーバーとして使用し、そのAPIを使用してMVCとAPIの両方を認証します。リンクを確認してください! –
シングルサンプルでDb認証とアクティブディレクトリ認証を組み合わせて使用できますか? – SivaRajini