4. 授权状态 (Authorization State)
每个 LDAP 会话都有一个关联的授权状态. 该状态由众多因素组成, 例如建立了何种 (如果有的话) 认证状态, 它是如何建立的, 以及有哪些安全服务就位. 有些因素可以由协议事件 (例如 Bind, StartTLS 或 TLS 关闭) 确定和/或影响, 有些因素可以由外部事件 (例如一天中的时刻或服务器负载) 确定.
虽然以简化的方式看待授权状态 (正如我们在这份技术规范中经常做的那样, 比如 "一个匿名状态") 往往很方便, 但需要指出, LDAP 实现中的授权系统通常涉及以复杂方式相互关联的众多因素.
LDAP 中的授权是本地事务. 做出授权决策的关键因素之一是授权身份 (authorization identity). Bind 操作 (定义于 [RFC4511] 第 4.2 节, 并在下文第 5 节中进一步讨论) 允许在客户端与服务器之间交换信息, 为 LDAP 会话建立授权身份. Bind 操作也可用于把 LDAP 会话移到匿名授权状态 (见第 5.1.1 节).
在 LDAP 会话初始建立时, 会话拥有匿名授权身份. 这尤其意味着: 客户端无需在 LDAP 消息层的首个 PDU 中发送 BindRequest. 客户端可以在执行 Bind 操作之前发送任何操作请求, 并且服务器必须把它当作是在匿名 Bind 操作 (第 5.1.1 节) 之后执行的那样来处理.
在收到 Bind 请求时, 服务器立即把会话移到匿名授权状态. 如果 Bind 请求成功, 会话被移到所请求的认证状态及其关联的授权状态. 否则, 会话保持匿名状态.
需要指出, LDAP 内部和外部的其他事件也可能导致认证与授权状态被移到匿名状态. 例如, 数据安全服务的建立, 变更或关闭可能导致移到匿名状态, 或者用户的凭证信息 (例如证书) 可能已过期. 前者是 LDAP 内部事件的一个例子, 后者是 LDAP 外部事件的一个例子.