首先需要配置一个form based认证站点,具体方法可以参考微软的文章点击打开链接。

有了站点之后,需要在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 yellowset-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站点了。

如何配置一个使用UPN登录的站点相关推荐

  1. 创建并配置一个伪分布式Hadoop3.x版本集群(三)

    文章目录 前言 1. Hadoop 集群搭建模式 2. 伪分布式集群搭建环境准备 2.1 SSH免密登录设置 2.2 Java 环境准备 2.3 Hadoop环境准备 2.4 其他环境准备 3. Ha ...

  2. Nginx 配置一个虚拟站点

    Nginx 配置一个虚拟站点 转载于:https://blog.51cto.com/771541213/1772134

  3. Nginx 配置一个域名使用HTTPS 后其它域名访问HTTPS时也会跳转到该站点解决

    nginx 同一个IP上配置多个HTTPS主机 Nginx 配置一个域名使用HTTPS 后其它域名访问HTTPS时也会跳转到该站点 对于https的域名在同一个IP上如何同时存在多个虚拟主机呢? 遂, ...

  4. windows服务器署站点,Windows Server配置学习心得-web服务器的搭建和部署,配置一个BLOG站点...

    上星期我们讲了关于windows服务器上常用服务的配置. 为了巩固大家的学习成果,制定了以下一个练习. 要求如下: 1.在虚拟机上,安装一台windows的服务器 4.客户机使用域账号登录 5.svn ...

  5. 《Cisco IPv6网络实现技术(修订版)》一2.6 配置练习:使用Cisco路由器配置一个IPv6网络...

    本节书摘来自异步社区<Cisco IPv6网络实现技术(修订版)>一书中的第2章,第2.6节,作者[加]Régis Desmeules,更多章节内容可以访问云栖社区"异步社区&q ...

  6. 基于iis配置一个ftp服务器

    一. 实验题目: 基于iis配置一个ftp服务器,并实现用户管理,基于命令行和ftp客服端工具实现文件上传下载. 二. 理论分析 FTP服务器(File Transfer Protocol Serve ...

  7. 手把手教如何搭建一个百度网盘目录站点【保姆级】

    如何搭建一个百度网盘目录站点 最近一研究虚拟货源项目,由于资料太多,不得已把硬盘扩容到了300T,但是扩容后问题也出来了,问题1:由于是通过技术手段扩容,百度盘已经爆满,已经无法存储新的资料. 问题2 ...

  8. mvc登录实例 mysql_spring mvc + mybatis + mysql 调整的一个简单的登录例子

    spring mvc + mybatis + mysql 整合的一个简单的登录例子 今天用spring跟mybatis整合写了一个简单的登录例子,第一次整合,给自己做个笔记,可能注释写的有点少,做的不 ...

  9. mac中使用 sourcetree 的快速配置和git服务器登录

    问题: 1.mac中下载sourcetree配置仓库地址,一直在提示输入密码,无法登录成功,更无法获取源码. 2.找不到配置仓库时的账号密码,只看到地址. 场景: git服务器:自己的GIT服务器,非 ...

最新文章

  1. 面向对象课程 - T-shirt
  2. java实现layui分页_layui如何实现数据分页功能
  3. 偶然搜索看到的杂谈——什麼東西是.NET程序員可以掌握並且可倚仗十年而不管微軟存在與否的技術呢?...
  4. 常用Openssl命令
  5. php 置cookie,另:(Cookie.php)cookie操作
  6. python笔记1-准确掌握列表和元组
  7. Chromium Embedded Framework中文文档 (SVN属性)
  8. 装配图中齿轮的画法_机械制图如何从入门到精通,金属结构件的表达画法,你会吗?...
  9. matlab汉明窗dft,谱分析中窗的选取
  10. 电脑怎么打出冒号符号_电脑标点符号怎么打(图文)
  11. 师董正伟:商务部受理微软涉垄断案
  12. 详解super()函数
  13. LabWindows中Table控件的下拉列的设置
  14. windows 命令行切换目录
  15. Kali Linux安装中文输入法——搜狗输入法
  16. 复习计算机二级 Excel常用函数公式
  17. Sourcetree 个人偏好配置
  18. 深度学习论文笔记(可解释性)——CAM与Grad-CAM
  19. 快速入手瑞萨RA系列MCU指南
  20. 2022级sdut知到/智慧树---c语言第三章测试题解

热门文章

  1. 结婚祝福HTML,结婚led屏幕祝福语
  2. 读懂小米,读懂工程教育
  3. 【不务正业】使用腾讯云搭建求生之路2服务器
  4. Spring Boot Admin 踩坑
  5. 无法访问网络(在线视频无法播放等问题通用解决办法)
  6. Jedis不相信眼泪
  7. C++中使用stringstream与getline处理一行被空格(逗号)隔开的数据
  8. 解析MySQL binlog --(5)ROWS_EVENT:WRITE_ROWS_EVENT、UPDATE_ROWS_EVENT、DELETE_ROWS_EVENT
  9. VS2005安装部署桌面快捷方式和程序快捷方式
  10. dnf显示服务器关闭吗,DNF手游:服务器关闭公告下架,17号游戏照玩,网友:我心态崩了...