Silverlight ActiveDirectore自动识别
如何获取当前用户。以及如何通过Active Directory逐个用户验证用户并通过。您应该使用ASP.NET身份验证来实现这一点。为了实现这一点,我强烈建议您使用RIA服务,它包含在Silverlight应用程序中启用ASP.NET身份验证所需的所有管道 启用ASP.NET身份验证后,您将能够编辑配置文件以使用广告标识提供程序,就像在任何其他ASP.NET web应用中一样 有关上的ActiveDirectoryMembershipProvider的更多信息Silverlight ActiveDirectore自动识别,silverlight,authentication,active-directory,Silverlight,Authentication,Active Directory,如何获取当前用户。以及如何通过Active Directory逐个用户验证用户并通过。您应该使用ASP.NET身份验证来实现这一点。为了实现这一点,我强烈建议您使用RIA服务,它包含在Silverlight应用程序中启用ASP.NET身份验证所需的所有管道 启用ASP.NET身份验证后,您将能够编辑配置文件以使用广告标识提供程序,就像在任何其他ASP.NET web应用中一样 有关上的ActiveDirectoryMembershipProvider的更多信息 [OperationContrac
[OperationContract]
public string GetCurrentUserWindowsLogin()
{
return Environment.UserName;
}
[OperationContract()]
public User DoLogIn(string login, string password)
{
string userName = String.Format(@"ELEGION\{0}", login);
string SERVER = "LDAP://Caesar.elegion.local";
User user = null;
try
{
DirectoryEntry entry = new DirectoryEntry(SERVER, userName, password, AuthenticationTypes.ReadonlyServer);
object nativeObject = entry.NativeObject;
if (nativeObject != null)
{
HeRMeSSunRiseDBEntities ent = EntitySingleton.Entities;
user = ent.Users.Where(l => l.Login == login && l.IsDisabled == false).FirstOrDefault();
if (user != null)
{
user.ADObject = entry.Guid.ToString();
ent.SaveChanges();
return user;
}
}
}
catch (DirectoryServicesCOMException cex)
{
Debug.Write(cex.Message);
}
catch (Exception ex)
{
Debug.Write(ex.Message);
}
return user;}