ASP.NET MVC 5:应用程序池,Windows身份验证和Active Directory

博爱茉莉

背景:

我有一个MVC 5 / C#应用程序,可连接外部API。它使用Active Directory用户的Principal Context授权。该应用检查是否将UserPrincipal.Current其Un / Pw组合存储在Db中,以便以后在外部API上进行任何操作。

 public bool IsUserSetup()
    {
        try
        {
            // find currently logged in user
            var user = UserPrincipal.Current; // <- ERRS HERE -----
            // check if this user exists in Db with creds
            if (user != null)
            {
                var u = _userProfileRepository.GetUserProfileByUserSID(user.Sid.ToString());
                if (u != null
                    && !string.IsNullOrEmpty(u.RallyUsername)
                    && !string.IsNullOrEmpty(u.RallyPassword)
                    && u.IsActive // <-- make sure this person is an active user
                    )
                {
                    return true;
                }
            }
        }
        catch (Exception ex)
        {
            string exMessage = ex.Message;
            //throw ex;
        }
        return false;
    }
  • 我了解UserPrincipal.Current默认情况下它将返回应用程序池的身份。
  • 我也了解将Impersonate设置为True IIS会使用当前用户的上下文,如下所示: <system.web> <identity impersonate="true"/>...

但是,如果我启用“模拟”(true),则会得到以下信息:

An ASP.NET setting has been detected that does not apply in Integrated managed pipeline mode.

因此,我将更app pool改为使用“经典”(我认为这不是我应该采取的答案或路径),但出现此错误:

The page you are requesting cannot be served because of the ISAPI and CGI Restriction list settings on the Web server.

显然,这在IIS Express中很好用,它对我(域\用户名)很好。但是,当我将其切换到IIS或将其部署到实际的Web服务器时,会遇到这些问题。

我需要获取当前用户/本金,以便将其SID和凭据存储到Db中的外部API。然后,在使用站点/应用程序时,它会根据需要自动使用其凭据来在API中进行工作。

我需要做什么:

  • 设置IIS以允许模拟工作
  • 调整我的代码以执行相同的操作
加布里埃尔·卢西(Gabriel Luci)

这里开始,使用选项2,即:

<system.webServer>
   <!--When using 'Integrated Pipeline' on IIS on the server, and if your application does not rely on impersonating the requesting user in the 'BeginRequest' and 'AuthenticateRequest' stages (the only stages where impersonation is not possible in Integrated mode), but still requires Impersonation in other areas of the application, ignore this error (500 - Internal Server Error) by adding the following to your application’s web.config-->
   <validation validateIntegratedModeConfiguration="false"/>
</system.webServer>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

WebApi 2身份验证和ASP.NET MVC 5应用程序

来自分类Dev

Asp.net身份(MVC 5)跨子域登录和应用程序池身份

来自分类Dev

asp.net MVC 5应用程序中的LDAP身份验证

来自分类Dev

IIS中的Asp.Net核心MVC应用程序Windows身份验证

来自分类Dev

在本地开发环境中使用 ASP.NET MVC 5 通过 Active Directory 进行身份验证

来自分类Dev

如何使用多租户ASP.NET应用程序通过Azure Active Directory进行身份验证?

来自分类Dev

使用 Active Directory 身份验证在 ASP.NET Core Web 应用程序中创建用户

来自分类Dev

身份:在两个不同的asp.net mvc5应用程序中的身份验证

来自分类Dev

将ASP.NET WebForms应用程序中的组合的窗体/ Windows身份验证迁移到asp.net MVC应用程序

来自分类Dev

使用Windows身份验证模拟MVC应用程序中的Active Directory用户

来自分类Dev

使用Windows身份验证模拟MVC应用程序中的Active Directory用户

来自分类Dev

具有Windows身份验证的ASP.NET MVC Intranet应用程序,如何自动获取当前域用户?

来自分类Dev

多域名ASP.NET MVC应用程序的跨域OWIN身份验证

来自分类Dev

在ASP.NET MVC 4应用程序中的身份验证中使用会话变量

来自分类Dev

在ASP.NET MVC 4应用程序中的身份验证中使用会话变量

来自分类Dev

ASP.NET MVC - 两个应用程序之间的相同身份验证

来自分类Dev

使用Windows身份验证和OWIN的ASP.NET MVC5 / AngularJS / Web API应用

来自分类Dev

无法获取 Angular SPA 以使用 Azure Active Directory 对 ASP.NET MVC WebAPI 进行身份验证

来自分类Dev

是否可以在一个ASP.NET MVC应用程序中同时具有Azure AD和个人帐户身份验证?

来自分类Dev

使用身份验证时,TFS WorkItemStore在ASP.NET MVC应用程序中引发COMException

来自分类Dev

处理OAuth 2.0身份验证-在ASP.NET MVC应用程序中获取令牌重定向令牌响应

来自分类Dev

我的asp.net mvc Web应用程序将始终检查请求是否已通过身份验证

来自分类Dev

如何将ASP.NET MVC Web应用程序的标识/身份验证部分移到类库中?

来自分类Dev

对.NET Core 1.0应用程序中的Active Directory进行身份验证?

来自分类Dev

在ASP.NET MVC 5应用程序中扩展ASP.NET身份

来自分类Dev

关闭/禁用Windows身份验证的asp.net-mvc

来自分类Dev

ASP.NET MVC Windows Azure组织身份验证

来自分类Dev

允许Windows身份验证ASP.NET MVC应用的备份AD登录

来自分类Dev

asp.net身份通过链接/ URL进行身份验证asp.net mvc 5

Related 相关文章

  1. 1

    WebApi 2身份验证和ASP.NET MVC 5应用程序

  2. 2

    Asp.net身份(MVC 5)跨子域登录和应用程序池身份

  3. 3

    asp.net MVC 5应用程序中的LDAP身份验证

  4. 4

    IIS中的Asp.Net核心MVC应用程序Windows身份验证

  5. 5

    在本地开发环境中使用 ASP.NET MVC 5 通过 Active Directory 进行身份验证

  6. 6

    如何使用多租户ASP.NET应用程序通过Azure Active Directory进行身份验证?

  7. 7

    使用 Active Directory 身份验证在 ASP.NET Core Web 应用程序中创建用户

  8. 8

    身份:在两个不同的asp.net mvc5应用程序中的身份验证

  9. 9

    将ASP.NET WebForms应用程序中的组合的窗体/ Windows身份验证迁移到asp.net MVC应用程序

  10. 10

    使用Windows身份验证模拟MVC应用程序中的Active Directory用户

  11. 11

    使用Windows身份验证模拟MVC应用程序中的Active Directory用户

  12. 12

    具有Windows身份验证的ASP.NET MVC Intranet应用程序,如何自动获取当前域用户?

  13. 13

    多域名ASP.NET MVC应用程序的跨域OWIN身份验证

  14. 14

    在ASP.NET MVC 4应用程序中的身份验证中使用会话变量

  15. 15

    在ASP.NET MVC 4应用程序中的身份验证中使用会话变量

  16. 16

    ASP.NET MVC - 两个应用程序之间的相同身份验证

  17. 17

    使用Windows身份验证和OWIN的ASP.NET MVC5 / AngularJS / Web API应用

  18. 18

    无法获取 Angular SPA 以使用 Azure Active Directory 对 ASP.NET MVC WebAPI 进行身份验证

  19. 19

    是否可以在一个ASP.NET MVC应用程序中同时具有Azure AD和个人帐户身份验证?

  20. 20

    使用身份验证时,TFS WorkItemStore在ASP.NET MVC应用程序中引发COMException

  21. 21

    处理OAuth 2.0身份验证-在ASP.NET MVC应用程序中获取令牌重定向令牌响应

  22. 22

    我的asp.net mvc Web应用程序将始终检查请求是否已通过身份验证

  23. 23

    如何将ASP.NET MVC Web应用程序的标识/身份验证部分移到类库中?

  24. 24

    对.NET Core 1.0应用程序中的Active Directory进行身份验证?

  25. 25

    在ASP.NET MVC 5应用程序中扩展ASP.NET身份

  26. 26

    关闭/禁用Windows身份验证的asp.net-mvc

  27. 27

    ASP.NET MVC Windows Azure组织身份验证

  28. 28

    允许Windows身份验证ASP.NET MVC应用的备份AD登录

  29. 29

    asp.net身份通过链接/ URL进行身份验证asp.net mvc 5

热门标签

归档