是否有任何登录尝试登录sharepoint的日志?

时间:2011-02-14 15:32:24

标签: sharepoint sharepoint-2007 login

在哪里可以找到共享点2007的登录尝试日志?

感谢。

PS:我还有另一个问题,如果有人帮助我,我真的很感激: Sharepoint users are logged out

2 个答案:

答案 0 :(得分:0)

没有第三方工具,我找不到多少东西。我们小组正在考虑通过AvePoint收购DocAve。

与此同时,您至少可以在网站设置信息中心的网站分析区域中了解一下,了解有多少人遇到了/_layouts/accessdenied.aspx页面。它不会告诉你太多,但也许你可以找到一种方法来定制和添加一个代码片段,当他们点击该页面时将获取用户的ID。它并不完美,所以我建议使用第三方工具,除非你可以扫描所有的网络前端等。

答案 1 :(得分:0)

我们有一次类似的要求,我们需要记录网站上所有用户的上次访问时间。因此,经过一段时间,比如90天,如果某个特定用户没有登录该网站,管理员可以删除他的个人资料。

我们用一种非常简单的方法克服了这个问题。您可以按照示例代码进行参考。

您需要在站点中创建一个名为“UserLoginDetails”的列表,并在其中创建一个“LastLogIn”列。代码是自我解释的。

using System;
using System.ComponentModel;
using System.Runtime.InteropServices;
using System.Web.UI;
using System.Xml.Serialization;
using Microsoft.SharePoint;

namespace Ubaid.WebParts
{
[Guid("883a77d6-271d-4b88-9ca2-d5150a00520b")]
[DefaultProperty("Text"), ToolboxData("<{0}:UserLastVisited runat=server></{0}:UserLastVisited>"), XmlRoot(Namespace = "Ubaid.WebParts")]
public class UserLastVisited : System.Web.UI.WebControls.WebParts.WebPart
{
    protected override void CreateChildControls()
    {
        base.CreateChildControls();

        string siteName = SPContext.Current.Web.Url;

        using (SPSite site = new SPSite(siteName))
        {
            SPWeb web = site.OpenWeb();
            site.AllowUnsafeUpdates = true;
            web.AllowUnsafeUpdates = true;

            SPList UserLoginDetailsList = web.Lists["UserLoginDetails"];

            SPQuery query = new SPQuery();
            string uname = SPContext.Current.Web.CurrentUser.LoginName;
            query.Query = "<Where><Eq><FieldRef Name='Title'/><Value Type='Text'>" + uname + "</Value></Eq></Where>";
            SPListItemCollection listItemColl = UserLoginDetailsList.GetItems(query);

            if (listItemColl.Count > 0)
            {
                SPListItem item = listItemColl[0];
                item["LastLogIn"] = DateTime.Now.ToLocalTime();
                item.Update();
            }
            else
            {
                SPListItem item = UserLoginDetailsList.Items.Add();
                item["Title"] = uname;
                item["LastLogIn"] = DateTime.Now.ToLocalTime();
                item.Update();
            }
        }
    }
}

}

您可以在主页中插入此webpart,因为此列表中的数据需要在每次加载页面时更新。

不确定哪种方式是最佳方式/性能问题,但由于我们的网站很小,我们可以很好地管理它。