2016-03-29 15 views
1

私はweb apiプロジェクトと管理パネル(Webプロジェクト)を開発しました。asp.net web api documentation

管理者だけがWeb APIドキュメントにアクセスできるようにします。

web apiおよびadminプロジェクトは、IISの仮想ディレクトリとしてホストされます。

これを達成する方法はありますか?

私はすでに管理プロジェクトのgloabl.asaxでコードセット元本を書いて、以下のコードでいます

try 
{ 
    //let us take out the username now     
    string username = FormsAuthentication.Decrypt(Request.Cookies[FormsAuthentication.FormsCookieName].Value).Name; 
    string roles = "Admin"; 

    //Let us set the Pricipal with our user specific details 
    HttpContext.Current.User = new System.Security.Principal.GenericPrincipal(
     new System.Security.Principal.GenericIdentity(username, "Forms"), roles.Split(';')); 
} 

支援してください。

+0

認証と認可のためにプリンシパルを設定する必要があります。詳細はこちらhttp://www.asp.net/web-api/overview/security/authentication-and-authorization-in-aspnet-web-api – Tushar

+0

Apiのドキュメントは、htmlファイルからレンダリングするか、ログインウィンドウを使用しますか。ドキュメントがWeb APIコントローラからレンダリングする場合は、コントローラの[Authorize(Roles = "Admin")]オントップを使用してください。 –

+0

APIプロジェクトはhttp:// localhost:1000/api /にあります。ヘルプと管理プロジェクトはhttp:// localhost:1000/adminでホストされています。 adminとapiの両方が別の仮想ディレクトリにホストされていますどのように2つのディレクトリ間でプリンシパルを共有できますか? – user3151766

答えて