代码之家  ›  专栏  ›  技术社区  ›  Phil

使用ASP进行Windows身份验证。NET MVC

  •  6
  • Phil  · 技术社区  · 17 年前

    我的问题是,如何将我的系统绑定到使用Windows身份验证登录。我想允许管理员为用户(如我的系统中定义的)选择一个Windows身份验证登录名,并可能向我的自定义表中的某个值添加一个值,以便我对其进行身份验证?

    这个问题可能措辞错误,我可能误解了Windows身份验证的工作原理,但我想在我的web应用程序中提供这个选项。

    3 回复  |  直到 14 年前
        1
  •  8
  •   Scrappydog    17 年前

        2
  •  8
  •   Iain Galloway    17 年前

    以下是我们为混合窗体/windows身份验证应用程序所做的工作:-

    public class MyBaseController
    {
      protected override void OnAuthorization( AuthorizationContext authContext )
      {
        if
        (
          !User.Identity.IsAuthenticated &&
          Request.LogonUserIdentity != null &&
          Request.LogonUserIdentity.IsAuthenticated
        )
        {
          String logonUserIdentity = Request.LogonUserIdentity.Name;
          if ( !String.IsNullOrEmpty(logonUserIdentity) )
          {
            User loginUser =
              Context.Users.FirstOrDefault(
                x => x.UserIdentity == logonUserIdentity);
            if ( loginUser != null )
              FormsAuthentication.SetAuthCookie(
                loginUser.LoginName,createPersistentCookie);
        }
      }
    

    为了紧凑起见,我去掉了一些封装。

        3
  •  1
  •   Community Mohan Dere    9 年前

    如果我正确理解了你的问题,你想添加一些链接到Windows身份验证用户名的其他数据吗?

    使用Windows身份验证,您几乎只能获得用户的用户名以及检查与该用户关联的角色(AD组)的能力。除此之外,您还需要手动编码。

    How to implement authorization checks in ASP.NET MVC based on Session data?

    推荐文章