0

我们在声明感知的 SharePoint WebApplication 中同时使用 Windows 身份验证和基于表单的身份验证。自定义 MembershipProvider(数据源:Novell eDirectory)工作得很好,但我不确定一些事情。

每个用户记录的 cn 属性是一个唯一标识符(十六进制值)。不过,用户正在使用他们的电子邮件地址(和密码)登录。我们不想让唯一标识符在任何地方都可见。

GetUser(string username, bool userIsOnline)
FindUsersByEmail(...) and
FindUsersByName(...)

返回以这种方式构造的 MembershipUser(s):

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 中显示“姓氏,名字”。该信息存在于数据源 (eDirectory) 中,我可以使用此信息丰富我的 CustomMembershipUser,但当然 PeoplePicker 或 SharePoint 中的任何其他内容都不会知道我的自定义 MembershipUser。

有什么我应该注意的相关索赔吗?

4

0 回答 0