理解SharePoint中的备用访问映射(Alternate Access Mapping)

本文解释了SharePoint中的Alternate Access Mappings (AAM)配置的作用,通过实例说明如何确保客户端无论通过何种URL访问,都能获得一致的内部链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

备用访问映射, 其英文说法叫做Alternate Access Mapping, 简称AAM. 这项配置的作用比较不太容易懂. 这篇文章就跟大家讨论一下AAM.

 

AAM的作用其实就相当于提供一个机会给SharePoint, 让SharePoint可以查找某种到达SharePoint的URL所应对应的URL, 之后用这个对应的URL返回给客户端.

 

一个请求发送到SharePoint之后, SharePoint会响应这个请求, 把结果页面返回给客户端. 值得注意的是, 结果页面上会有很多链接, 比如说breadcrumb中, 比如说左侧的导航栏中, 各种各样的webpart中等等. 如果要使得客户端能够正常地, 持续地完成请求, 这些页面上的链接要能跟客户最初访问的时候到达的URL一致. 否则的话, 客户访问到站点, 却只能得到一个其中满是他无法访问的链接的页面.

 

举个例子, 客户端使用https://outside 来访问SharePoint站点, 客户端和MOSS之间有一重ISA(防火墙), ISA会把指向outside的请求转换为http://inside, 在DNS中, inside指向MOSS的IP地址. SharePoint接受到的请求的目标是http://inside. 而客户端所期望SharePoint返回的页面上的所有链接都类似于https://outside. 这里就是AAM大显身手的地方. 解决方案是, 添加一个Zone, 让其Public URL为https://outside, 再添加一个Internal URL, 让其归属于新的zone, 然后配置Internal URL为http://inside.

如图:

image

 

具体过程如下:

  1. 客户端发出请求至https://outside
  2. 这个请求中间经过ISA的转换, 到sps的时候变成了http://inside.
  3. SharePoint得到请求之后, 检查接受到的请求长什么样, SharePoint一看哦, 是http://inside, 之后到自己的AAM表里一查, 哦, 这样的链接是Intranet Zone的一个Internal URL(http://inside), 返回结果页面上的站点链接需要变成该zone的Public URL(http://outside)返回给客户端的. 所以结果页面内容里的本站点链接就全部是http://outside的了.
  4. 客户端接到了结果的HTML代码, 直接在IE里显示, 页面上的链接都是http://outside之类的, 都跟它最初发送出去的链接长的很像, 从而可以继续下一次的请求.

这里客户端根本就不清楚发送出去请求后都发生了些什么, ISA, AAM对它都是透明的, 就知道发送出去一个请求, 得到了一个结果页面, 里面的链接都可以继续请求.

 

注意, 这里的url不仅仅包含主机标头或主机名, 还包括:

  • 协议名: http, https.
  • 端口号: 8080,10000等.

注意, 能完成主机标头, 主机名, 协议, 端口转换的除了ISA (Internet Security and Acceleration Server)以外, 某些Network Load Balancer也可以完成类似的动作.

 

参考资料:

Plan alternate access mappings (Office SharePoint Server)

http://technet.microsoft.com/en-us/library/cc261814%28office.12%29.aspx 

Configure alternate access mapping

http://technet.microsoft.com/en-us/library/cc263208%28office.12%29.aspx

http://technet.microsoft.com/en-us/library/cc973040.aspx

<think>好的,用户想了解STM32的SWJ(SWD和JTAG)复用功能映射的配置信息。首先,我需要回忆一下STM32的调试接口相关的内容。STM32通常支持两种调试接口:JTAG和SWD。这两种接口共用一些引脚,比如PA13、PA14、PA15、PB3和PB4,这些引脚默认用于调试功能,但用户可能需要重新配置这些引脚作为普通IO或其他功能,这就涉及到复用功能重映射。 接下来,用户提到的引用内容中,引用[1]提到重映射步骤需要参考具体型号的数据手册和参考手册,这说明不同型号的STM32可能有不同的映射方式,必须查阅对应的文档。引用[2]给出了具体的代码示例,使用GPIO_PinRemapConfig函数来禁用JTAG,仅使用SWD模式,同时需要开启AFIO时钟。引用[3]是关于GPIO的复用功能定义,可能涉及到其他外设的配置,但这里主要关注SWJ的配置。 用户的问题主要集中在如何配置SWJ的复用功能映射,所以需要详细说明配置步骤。首先需要确认AFIO时钟的开启,因为重映射功能需要这个时钟。然后,选择合适的重映射选项,比如禁用JTAG,只保留SWD,或者完全禁用调试接口。需要指出不同的重映射选项对应的宏定义,如GPIO_Remap_SWJ_JTAGDisable,以及完全禁用时的GPIO_Remap_SWJ_Disable。同时,用户需要注意禁用调试接口后可能无法再次通过调试器连接,除非复位或重新配置,这点很重要需要提醒。 另外,用户可能需要了解如何释放特定的引脚作为普通IO或其他复用功能。例如,禁用JTAG后,PA15、PB3、PB4可以被用作普通IO,但需要配置对应的GPIO模式和复用功能寄存器。这部分也需要在步骤中详细说明,并强调参考具体型号的数据手册。 最后,生成的相关问题需要围绕配置后的影响、不同模式的区别、如何恢复以及具体的应用场景展开,确保覆盖用户可能遇到的后续疑问。</think>### STM32 SWJ (SWD and JTAG)复用功能映射配置说明 STM32微控制器的SWJ(Serial Wire and JTAG)调试接口复用功能映射可通过以下步骤配置: 1. **AFIO时钟使能** 重映射功能需先开启AFIO时钟: ```c RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); ``` 未开启时钟时,重映射配置无效[^2]。 2. **选择重映射模式** 通过`GPIO_PinRemapConfig`函数选择模式: - **仅禁用JTAG,保留SWD**(推荐调试场景): ```c GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE); ``` 释放PA15、PB3、PB4为普通GPIO或其他复用功能。 - **完全禁用SWJ调试接口**(释放所有调试引脚): ```c GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE); ``` 此时需通过复位或ISP工具恢复调试功能。 3. **引脚功能释放与复用** 释放后的引脚需重新配置: ```c GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15 | GPIO_Pin_3 | GPIO_Pin_4; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; // 普通输出模式示例 GPIO_Init(GPIOA, &GPIO_InitStructure); ``` 4. **外设复用功能映射** 若需将释放的引脚用于特定外设(如SPI、UART),需参考数据手册中的复用功能映射。例如: ```c GPIO_PinAFConfig(GPIOA, GPIO_PinSource15, GPIO_AF_SPI1); // 配置PA15为SPI1功能 ``` ### 关键注意事项 - 不同型号STM32的复用功能映射可能存在差异,需查阅对应型号的《参考手册》和《数据手册》[^1]。 - 禁用调试接口后,需通过硬件复位或BOOT引脚进入系统存储器启动模式恢复调试功能。 - 部分型号支持Partial Remap(部分重映射),可灵活组合调试接口与GPIO功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值