小编Dha*_*aya的帖子

通过Angular 2访问Windows Authenticated Web API,无需登录提示

我已经在Angular2中开发了前端应用程序,在ASP.net Web API中开发了后端.我使用Windows身份验证已启用,因为我想检测请求用户.这两个应用程序都托管在IIS服务器(Windows Server 2012)中.当我加载角度应用程序时,它加载登录提示,并在给出正确的用户凭据时数据加载正确发生 但我想知道一种在没有登录提示的情况下加载它们的方法,自动进行身份验证.

这是我在Web API中检测请求用户的方式.

string user = HttpContext.Current.Request.ServerVariables["LOGON_USER"]; //Get the current user...
userID = user.Split('\\')[1]; 
Run Code Online (Sandbox Code Playgroud)

这是一个示例TS脚本从Angular Services向Windows Authenticated Web API发送请求.

getPersonalInfo(): Observable<IPersonalInfo> {
        return this._http.get(localStorage.getItem('WebApiURL') +"api/PersonalInfo/" , { withCredentials: true })
            .map((response: Response) => <IPersonalInfo>response.json())
            .catch(this.handleError);
    }
Run Code Online (Sandbox Code Playgroud)

重新启动浏览器时,此登录每次都会询问.

在此输入图像描述

我想通过此登录访问它们...

asp.net windows-authentication asp.net-web-api angular

6
推荐指数
1
解决办法
774
查看次数

在Windows Server 2012中如何处理应用程序错误异常代码:0xc00000fd

我已经在IIS服务器上部署了ASP Web API应用程序。仅因为我要检测访问API的Windows用户,所以它处于Windows身份验证启用模式。几天之内,它仍然可以正常工作,但是偶然地却无法正常工作。当请求API时,它要求登录提示几次(最少3次)。但是,提供凭据将导致服务不可用。原因是它会自动停止 IIS管理器中属于该站点的应用程序池,并在“应用程序”下的事件查看器中记录一个错误。

Faulting application name: w3wp.exe, version: 8.5.9600.16384, time stamp: 0x52157ba0
Faulting module name: clr.dll, version: 4.7.2117.0, time stamp: 0x59cf5105
Exception code: 0xc00000fd
Fault offset: 0x00451a8d
Faulting process id: 0xe10
Faulting application start time: 0x01d3a9f540d7b456
Faulting application path: C:\Windows\SysWOW64\inetsrv\w3wp.exe
Faulting module path: C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
Report Id: 83502af2-15e8-11e8-80ee-005056b72cd8
Faulting package full name: 
Faulting package-relative application ID: 
Run Code Online (Sandbox Code Playgroud)

在我的代码中,没有任何调试错误或配置错误。这将是什么问题,以及如何解决?

asp.net iis windows-server-2012

4
推荐指数
1
解决办法
4220
查看次数