मैं एक कोणीय 4 एप्लिकेशन लिख रहा हूं जिसे Asp.Net WebApi से कुछ डेटा प्राप्त करने की आवश्यकता है। हम वेबएपीआई के लिए विंडोज प्रमाणीकरण का उपयोग कर रहे हैं और मैं सोच रहा हूं कि मैं अपने कोणीय अनुप्रयोग से वेबएपी तक उपयोगकर्ता की विंडोज पहचान कैसे पास कर सकता हूं। मुझे कुछ उदाहरण मिल गए हैं जिनमें एमवीसी एप्लिकेशन के साथ आपके आवेदन को घोंसले शामिल हैं लेकिन मैं यूआई को एमवीसी से दूर रखना चाहता हूं। क्या मेरे कोणीय वेबसाइट पर .NET mvc जोड़ने के बिना ऐसा करने का कोई तरीका है?विंडोज प्रमाणीकरण और कोणीय 4 अनुप्रयोग
उत्तर
जब आप अपने वेबएपीआई करने कोणीय से अपने http अनुरोध भेज आप RequestOptions ({withCredentials = true}) का उपयोग करने के
यहां नमूने सुरक्षा सेवा है कि एक एपीआई
@Injectable()
export class SecurityService {
private baseUrl = 'http://localhost:64706/api/security/';
private auth: Auth;
private options = new RequestOptions({ withCredentials: true });
constructor(private http: Http) {
console.log('Creating Service');
console.log('Service Pre Http');
this.http.get(this.baseUrl, this.options)
.map((res) => this.extractData<Auth>(res))
.subscribe(newItem => {
console.log('Service Subscribe');
this.auth = newItem;
})
}
public isUser(): Observable<boolean> | boolean {
if (!this.auth) {
return this.http.get(this.baseUrl, this.options)
.map(res => {
this.auth = this.extractData<Auth>(res);
return this.auth.isUser;
});
}
else {
return this.auth.isUser;
}
}
private extractData<T>(res: Response) {
if (res.status < 200 || res.status >= 300) {
throw new Error('Bad response status: ' + res.status);
}
const body = res.json ? res.json() : null;
return <T>(body || {});
}
}
यह वह जगह है कॉल है जरूरत प्रमाणन वर्ग
export class Auth {
isAdmin: boolean;
isUser: boolean;
}
आप तो .net कोर का उपयोग कर रहे हैं, तो आपके वेबएपीआई नियंत्रक में आप अब उपयोग कर सकते हैं this.User.Identity.IsAuthenticated
एनबी: आप ASP.Net कोर 2.0 का उपयोग कर रहे हैं तो आप "विंडोज प्रमाणीकरण (HTTP.sys/IISIntegration)" अनुभाग यहाँ पालन करने की आवश्यकता https://docs.microsoft.com/en-us/aspnet/core/migration/1x-to-2x/identity-2x
आप Windows सक्षम करने के लिए याद रखना चाहिए मेजबान पर प्रमाणीकरण जैसे आईआईएस या IISExpress। आप के चारों ओर "preflight जाँच करता है" तो तुम भी हो सकता है कि लिंक आपकी मदद करेगा बेनामी पहुँच
आपने अपनी प्रतिक्रिया "आईआईएस या IISExpress" में कहा था। क्या आपने IISExpress की कोशिश की है और यह काम करता है? क्योंकि मेरे पास है और मैं इसे – Dan
काम नहीं कर सकता हां, क्रोम का उपयोग करके दोनों काम करते हैं। क्या ब्राउज़र ने कोशिश की है? –
केवल इंटरनेट एक्सप्लोरर। वह मुख्य ब्राउज़र है जिसे समर्थित करने की आवश्यकता है। मैं क्रोम को यह देखने के लिए कोशिश करूंगा कि यह काम करता है या नहीं – Dan
- 1. कोणीय।/कोणीय 4. एक और
- 2. एएसपी.नेट एमवीसी 4 सुरक्षा, प्रमाणीकरण, और प्रमाणीकरण
- 3. कोणीय अनुप्रयोग
- 4. नैन्सीएफएक्स और विंडोज प्रमाणीकरण
- 5. कोणीय 4 और एसईओ
- 6. प्रपत्र प्रमाणीकरण और प्रमाणीकरण एमवीसी 4
- 7. कोणीय 4
- 8. विंडोज प्रमाणीकरण
- 9. विंडोज प्रमाणीकरण
- 10. विंडोज प्रमाणीकरण
- 11. कोणीय अनुप्रयोग
- 12. विंडोज प्रमाणीकरण बनाम प्रमाणीकरण
- 13. विभिन्न ऐप्स में कोणीय -1 और कोणीय -4 सह-अस्तित्व
- 14. कोणीय रूटिंग कोणीय 4
- 15. आईई 11 और कोणीय 4
- 16. कोणीय 4 और एनजी-टेम्पलेट
- 17. विंडोज अनुप्रयोग
- 18. सिम्फनी 2 और कोणीय। उपयोगकर्ता प्रमाणीकरण
- 19. विंडोज प्रमाणीकरण
- 20. कोणीय 4
- 21. कोणीय 4
- 22. कोणीय 4
- 23. कोणीय 4
- 24. विंडोज प्रमाणीकरण
- 25. विंडोज प्रमाणीकरण और Asp.Net वेब एपीआई
- 26. कोणीय 4
- 27. कोणीय 4
- 28. परिवर्तनीय कोणीय 4
- 29. कोणीय 2 आरसी 4
- 30. कोणीय 2 अनुप्रयोग
को सक्षम करना होगा त्रुटियों मिलता है https://docs.microsoft.com/en-us/aspnet/core/security/cors
:
आप की संभावना यहाँ CORS प्रलेखन को सक्षम करना होगा अच्छा है : https://stackoverflow.com/questions/41337145/how-can-i-get-and-post-an-action-using-angular-2-in-mvc/41341743#41341743 –
जो मैं देख सकता हूं वह यह है कि वे नियमित प्रमाणीकरण का उपयोग कर रहे हैं। मैं विंडोज प्रमाणीकरण – AlexanderM
@AlexanderM का उपयोग करना चाहूंगा क्या यह प्रश्न ठीक से उत्तर दिया गया था? यदि ऐसा है तो कृपया उत्तर चिह्नित करें। – RayLoveless