Microsoft CRM修改密码页面的编写
来源:互联网 发布:打字软件手机版 编辑:程序博客网 时间:2024/05/21 18:50
Microsoft CRM采用AD验证的方式登陆,那么修改密码就需要去自己的电脑中修改,显然这样比较麻烦,且需要专门人员进行修改,因此采用Web验证的方式更加灵活。他能让你随时随地修改密码。
获取当前用户:
方式一:(使用webservice 获取 )
WhoAmIRequest request = new WhoAmIRequest(); IOrganizationService service = GetService(); WhoAmIResponse response = (WhoAmIResponse)service.Execute(request); Guid userId = response.UserId; Entity curUser = service.Retrieve("systemuser", userId, new ColumnSet { AllColumns = true }); string displayMsg = curUser.Attributes["domainname"].ToString(); user = curUser.Attributes["domainname"].ToString(); display.InnerText = user; string[] s2 = user.Split('\\'); user = s2[1];
ps:获取的用户是以"域\用户名"的方式,所以通过Split()方法讲用户名取出来。
private IOrganizationService GetService(){ Uri orgUri = new Uri("http://localhost:5555/library/xrmservices/2011/organization.svc"); //webservice地址 OrganizationServiceProxy service; System.ServiceModel.Description.ClientCredentials credentials = new ClientCredentials(); credentials.Windows.ClientCredential = System.Net.CredentialCache.DefaultNetworkCredentials; service = new OrganizationServiceProxy(orgUri, null, credentials, null); service.ServiceConfiguration.CurrentServiceEndpoint.Behaviors.Add(new ProxyTypesBehavior()); return service; }
方式二:
System.Security.Principal.IPrincipal userParm = HttpContext.Current.User; string name = userParm.Identity.Name;
修改密码:
DirectoryEntry de = new DirectoryEntry("LDAP://OU=crm,DC=crm,DC=com", "administrator", "123", AuthenticationTypes.Secure);//域的根路径 de.UsePropertyCache = true; DirectorySearcher searcher = new DirectorySearcher(); searcher.SearchRoot = de; searcher.SearchScope = SearchScope.Subtree; searcher.Filter = string.Format("(&(objectClass=user)(samAccountName={0}))", "librarian"); SearchResult result = searcher.FindOne(); DirectoryEntry user1 = result.GetDirectoryEntry(); if (PwdNew.Text == "" || PwdOld.Text == "" || PwdConfirm.Text == "") { lblResultMessage.Text = "请输入密码信息"; return; } if (result == null) { lblResultMessage.Text = "该用户不存在,无法进行密码修改."; return; } try { user1.Invoke("ChangePassword", new object[] { PwdOld.Text.ToString(), PwdNew.Text.ToString() }); lblResultMessage.Text = "密码修改成功"; } catch (Exception ex) { lblResultMessage.Text = ex.InnerException.Message.ToString(); } finally { de.Close(); }
域的根路径如何获取:
打开Active Directory用户和计算机界面 如图
Ps :其中crm是我在装crm2011时装的,用于crm登录的用户组 图中所示的"distinguishedName”即为我们需要的域的根路径
密码策略:
如果无法修改密码,是AD的密码策略是我们无法修改,那么需要我们在服务器中手动修改策略。步骤如图:
ps:可根据需要自定义字段,也可以按照我的设置修改对应字段 最后运行“gpupdate”刷新策略。
最总效果图:(为了验证方便,便没有将textbox设为password模式。)
- Microsoft CRM修改密码页面的编写
- 修改crm的登录页面
- 修改crm的登录页面
- 如何修改Microsoft SQL Server 2005中sa的密码?
- 修改Microsoft SQL Server 2005中sa的密码
- 如何修改Microsoft SQL Server 2005中sa的密码?
- CRM的客户数据模型:Microsoft Dynamic CRM 2011 (II)
- Microsoft Dynamics CRM 4.0的新特性
- Microsoft Dynamics CRM 4.0 的新增功能
- Microsoft Dynamics CRM 2011 的安装
- 的Microsoft Dynamics ERP和CRM软件
- 简谅解的Microsoft Dynamics CRM集成
- 让SVN用户能够修改自身密码的PHP页面
- Microsoft Dynamics CRM Downloads
- Microsoft Dynamics CRM特性
- crm取消发送给Microsoft的数据的弹出框
- 考勤表在Microsoft CRM的专业和咨询服务说明
- Microsoft Dynamics CRM 2013 for Outlook 的硬件要求
- 日本各产业不断下降,除了机器人和佳能在上升,汽车成唯一支柱产业
- Linux 下 SSH Session复制
- opencv中的多通道矩阵CvMat元素的访问
- VIEW双缓冲
- leeboy的linux学习笔记一
- Microsoft CRM修改密码页面的编写
- linux shell 字符串操作(长度,查找,替换)详解
- 谈 Spring-Transaction(Spring事务管理 第一篇)
- 超酷2012伦敦奥运会多次曝光效果摄影作品集
- Java Proxies and UndeclaredThrowableException
- 小米也打价格战?会有1999的小米2吗?
- Android实现HTML5 video
- POJ3259—Bellman-Ford算法实现
- 数据库登录错误