我们在声称感知的SharePoint WebApplication中使用Windows身份验证和基于表单的身份验证。自定义MembershipProvider(数据源:Novell eDirectory)工作正常,但我不确定一些事情。
每个用户记录的cn属性是唯一标识符(十六进制值)。 用户使用他们的电子邮件地址登录(和密码)虽然。我们不希望任何地方都能看到唯一标识符。
GetUser(string username, bool userIsOnline)
FindUsersByEmail(...) and
FindUsersByName(...)
返回以这种方式构建的MembershipUser:
CustomMembershipUser membershipUser = new CustomMembershipUser(
providerName: Name, // the membership provider's name
userName: providerUserKey, *// the "cn" name*
providerUserKey: providerUserKey, *// again the "cn" name*
email: email, // the email used to log in
passwordQuestion: null,
comment: null,
isApproved: true,
isLockedOut: false,
creationDate: DateTime.MinValue,
lastLoginDate: DateTime.MinValue,
lastActivityDate: DateTime.MinValue,
lastPasswordChangedDate: DateTime.MinValue,
lastLockedOutDate: DateTime.MinValue,
firstName: givenName,
lastName: surName);
最后两个参数是“Custom-”MembershipUser参数。 我的最终目标是以Windows集成身份验证风格的“LastName,FirstName”显示用户。
现在,在输入我的电子邮件地址时,人员选择器将我的电子邮件地址解析为“cn”名称,类似于XYZ12345。相反,我想在整个SharePoint中显示“LastName,FirstName”。这些信息存在于数据源(eDirectory)中,我可以使用此信息丰富我的CustomMembershipUser,但当然,PeoplePicker和SharePoint中的任何其他内容都不会知道我的自定义MembershipUser。
我应该注意哪些相关的索赔?