【问题标题】:ValidateUser of Forms Authentication issueValidateUser 的表单身份验证问题
【发布时间】:2009-11-22 18:28:24
【问题描述】:

我正在使用 SharePoint 2007 Enterprise + 发布门户模板 + Windows Server 2008。我正在使用 ASP.Net + C# + .Net 3.5 + VSTS 2008 在 SharePoint Server 2007 上进行开发。我正在开发基于表单的自定义表单身份验证认证接口。我正在学习在 SharePoint 中使用表单身份验证,我对此方法感到困惑——表单身份验证的 ValidateUser,这是 MSDN 链接,

http://msdn.microsoft.com/en-us/library/system.web.security.membershipprovider.validateuser.aspx

我的困惑是哪个组件会调用 ValidateUser 方法?

  1. 是否需要自己调用ValidateUser(我的应用代码),还是取决于我的需要(并不总是需要,取决于我的应用场景);
  2. 是否由 SharePoint 代码(不是我自己的应用程序代码)调用 ValidateUser,如果是,何时(即 SharePoint 在什么情况下会调用 ValidateUser 方法,或者换句话说,SharePoint 中的什么操作会触发该方法的调用) ?

提前致谢, 乔治

【问题讨论】:

    标签: c# .net asp.net sharepoint-2007 forms-authentication


    【解决方案1】:

    调用ValidateUser 方法来验证是否已为用户正确输入了用户名和密码。在认证过程中调用。

    如果您的web.config 文件配置为使用您的自定义成员资格提供程序,则ValidateUser 会自动调用

    • 您在页面中使用标准控件(如ASP.NET Login control)进行身份验证(这适用于常规 ASP.NET 和 SharePoint);或
    • 您使用默认的 SharePoint 表单身份验证页面 (/_layouts/login.aspx)。如果匿名用户访问的内容被阻止,SharePoint 会将未经身份验证的用户重定向到此页面。

    如果您自定义默认的 SharePoint 登录页面并且不使用 ASP.NET 登录控件,则必须自己调用 ValidateUser

    【讨论】:

    • 感谢 dariom!我的问题是,如果我自定义 SharePoint 登录页面而不使用 ASP.Net 登录控件,并且对于匿名用户,如果匿名用户访问被匿名用户阻止的特定内容,会自动调用 ValidateUser 吗?
    • 当匿名用户遇到被阻止的内容时,SharePoint 将重定向到在web.configforms 元素的loginUrl 属性)中定义的 URL。如果这是一个使用 ASP.NET 登录控件的自定义登录页面,将不得不调用ValidateUser。我希望这能解决问题。
    • 谢谢!我的情况是,我有一个自定义登录页面(与 SharePoint 内置登录页面相比,做了一些 UI 增强)并在自定义登录页面中使用 ASP.Net 登录控件。而对于匿名用户,如果匿名用户访问被匿名用户屏蔽的特定内容,ValidateUser 会被自动调用还是被重定向到我的自定义登录页面?
    • 感谢您清理您的场景。在您的情况下,当匿名尝试访问受限内容时,SharePoint 将重定向到您的自定义登录页面。当用户提交登录页面时,ASP.NET 登录控件将为web.config 中配置的成员资格提供程序调用ValidateUser
    猜你喜欢
    • 1970-01-01
    • 2011-06-08
    • 2015-07-02
    • 2017-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多