如何配置一个使用UPN登录的站点
2014-12-11 14:56
477 查看
首先需要配置一个form based认证站点,具体方法可以参考微软的文章点击打开链接。
有了站点之后,需要在AD中配置UPN,具体方法如下:
1. 启动“Active Directory Domains and Trust”,右击根节点,选择properties:
2.添加一个UPN后缀:
以上在AD中添加UPN的操作也可以用C#代码实现:
添加UPN之后,在AD 用户的属性中,就可以看到对应的UPN了:
可以使用powershell批量更新AD用户的UPN:
当用户有了UPN,最后的步骤就是修改站点的web.config文件了。这里需要修改三个web.config文件,也就是配置claim based认证站点的时候修改过的三个web.config文件:
1. 管理中心的web.config
2. 启用claim based认证的web applicaiton的web.config
3. SecurityTokenServiceApplicaiton的web.config
将这三个文件中的membership与rolemanager节点中的userNameAttribute的值改为“userPrincipalName” (配置文件以SharePoint 2010为例):
有了站点之后,需要在AD中配置UPN,具体方法如下:
1. 启动“Active Directory Domains and Trust”,右击根节点,选择properties:
2.添加一个UPN后缀:
以上在AD中添加UPN的操作也可以用C#代码实现:
DirectoryEntry partitionsContainer = new DirectoryEntry("LDAP://CN=Partitions,CN=Configuration,DC=ForestRootDomain,DC=com"); partitionsContainer["upnSuffixes"].Add("demo.com"); partitionsContainer.CommitChanges();
添加UPN之后,在AD 用户的属性中,就可以看到对应的UPN了:
可以使用powershell批量更新AD用户的UPN:
foreach ($user in get-user) { write-host handling user $user.samaccountname -nonewline [string]$samacc = $user.samaccountname [string]$upn = "$samacc@demo.com" if ($user.userprincipalname -eq $upn){ write-host " UPNOK: $upn" -background green -foreground black } else { write-host " UPNFIX:$upn" -backgroundcolor yellow set-user -identity $samacc -userprincipalname $upn } }
当用户有了UPN,最后的步骤就是修改站点的web.config文件了。这里需要修改三个web.config文件,也就是配置claim based认证站点的时候修改过的三个web.config文件:
1. 管理中心的web.config
2. 启用claim based认证的web applicaiton的web.config
3. SecurityTokenServiceApplicaiton的web.config
将这三个文件中的membership与rolemanager节点中的userNameAttribute的值改为“userPrincipalName” (配置文件以SharePoint 2010为例):
<membership defaultProvider="i"> <providers> <add name="i" type="Microsoft.SharePoint.Administration.Claims.SPClaimsAuthMembershipProvider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" /> <add name="membership" type="Microsoft.Office.Server.Security.LdapMembershipProvider, Microsoft.Office.Server, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" server="servername" port="389" useSSL="false" userDNAttribute="displayName" userNameAttribute="userPrincipalName" userContainer="OU=MyOU,OU=Company,DC=demo,DC=com" userObjectClass="person" userFilter="(&(ObjectClass=person))" scope="Subtree" otherRequiredUserAttributes="sn,givenname,cn" /> </providers> </membership> <roleManager defaultProvider="c" enabled="true" cacheRolesInCookie="false"> <providers> <add name="c" type="Microsoft.SharePoint.Administration.Claims.SPClaimsAuthRoleProvider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" /> <add name="roleManager" type="Microsoft.Office.Server.Security.LdapRoleProvider, Microsoft.Office.Server, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" server="servername" port="389" UseSSL="false" groupContainer="OU=MyOU,OU=Company,DC=demo,DC=com" groupNameAttribute="cn" groupNameAlternateSearchAttribute="samAccountName" groupMemberAttribute="member" userNameAttribute="userPrincipalName" dnAttribute="distinguishedName" groupFilter="(&(ObjectClass=group))" userFilter="(&(ObjectClass=person))" scope="Subtree" /> </providers> </roleManager>然后就可以使用UPN来登录SharePoint站点了。
相关文章推荐
- 如何在一个站点里使用两个Web.sitemap 或是多个Web.sitemap
- IIS不能启动站点,另一个站点可能已经在使用您为此站点配置的端口。请为此站点选择一个没有使用的端口解决办法:
- 如何使用 Apache Web 服务器配置多个站点
- 如何使用Android Studio打开一个App项目,导入Android App项目需要修改哪些配置文件?
- Nginx一个IP如何配置多个站点的方法教程
- 在apache中配置多个站点使用同一个ip
- Nginx实现多个站点使用一个端口(配置Nginx的虚拟主机)
- eclipse 中main()函数中的String[] args如何使用?通过String[] args验证账号密码的登录类?静态的主方法怎样才能调用非static的方法——通过生成对象?在类中制作一个方法——能够修改对象的属性值?
- Nginx实现多个站点使用一个端口(配置Nginx的虚拟主机)
- 如何使用PLSQL添加用户和密码,登录时可以免输入密码 PLSQL配置新数据库连接
- 如何创建一个只允许使用sftp登录且只能访问特定目录的账号
- 如何使用集成了ESP8266芯片的NodeMCU以配置一个可交互的TCP服务器?
- Nginx实现多个站点使用一个端口(配置Nginx的虚拟主机)
- Nginx实现多个站点使用一个端口(配置Nginx的虚拟主机)
- 使用红帽企业版Linux如何配置一个点对点(PPP)拨号服务器?
- <一>Ioc控制反转——手把手教学:如何配置并使用单元测试一个spring框架(附源码)
- PHP学习笔记:APACHE配置虚拟目录、一个站点使用多域名配置方式
- Nginx实现多个站点使用一个端口(配置Nginx的虚拟主机)
- jenkins发布项目到远程主机上,配置两台linux如何使用SSH免密码登录
- 使用MyEclipse开发Java EE应用:如何配置一个独立的Java项目