2016-03-29 27 views
1

Web api projesi ve yönetim paneli (web projesi) geliştirdim.asp.net web api belgeleri

Sadece yönetici kullanıcıların web API belgelerine erişebilmelerini istiyorum.

Web api ve admin projesi, IIS'de sanal dizinler olarak barındırılmaktadır.

Bunu başarmanın bir yolu var mı?

Zaten yönetici projesinin gloabl.asax kod seti müdürü yazdım ve aşağıdaki kodu var:

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(';')); 
} 

yardımcı olun.

+0

Kimlik doğrulama ve yetkilendirme için ana ayarı yapmanız gerekir. Daha fazla bilgi için lütfen buraya tıklayın http://www.asp.net/web-api/overview/security/authentication-and-authorization-in-aspnet-web-api – Tushar

+0

Api belgeleri bir html dosyasından geliyor mu? . Belgeler bir web api denetleyiciden oluşturuyorsa, denetleyicinin üzerindeki [Authorize (Roles = "Admin")] tuşunu kullanın. –

+0

API projesi şu adrestedir: http: // localhost: 1000/api/Yardım ve yönetici projesi şu adrestedir: http: // localhost: 1000/admin. Hem yönetici hem de api, farklı sanal dizinde barındırılır. Anaokulu 2 dizin arasında nasıl paylaşabilirim? – user3151766

cevap