2

我在 AngularJS 中有一个繁重的客户端 webapp。我正在使用 C# 控制器进行 Active Directory 身份验证,这是此代码。

public UserModel Get()
{
        UserModel currentUser = new UserModel();
        currentUser.name = User.Identity.Name;
      //  currentUser.auth = contactFromAD(User.Identity.Name);
        currentUser.auth = true;
        return currentUser;
}

因此,它所做的是检查您登录的 AD 帐户,然后执行一些逻辑来检查您是否已通过身份验证访问该站点。

但是,我怎样才能让它在本地主机之外工作。当代码运行服务器时,我如何才能User.Identity.Name返回当前使用该应用程序的人的身份。

4

1 回答 1

1

我不确定我是否理解 AngularJS 角度。如果我有一个常规的 WCF 服务,我会使用来自 ServiceSecurityContext.Current 的 WindowsIdentity。
http://msdn.microsoft.com/en-us/library/system.servicemodel.servicesecuritycontext.aspx

ServiceSecurityContext securityContext = ServiceSecurityContext.Current;

if (securityContext == null)
     throw new Exception("Failed to retrieve Service Security Context");

WindowsIdentity identity = securityContext.WindowsIdentity;
currentUser.name = identity.Name
于 2013-07-15T22:06:37.987 回答