Есть ли журнал попыток входа в sharepoint 2007? - PullRequest
1 голос
/ 14 февраля 2011

Где я могу найти журнал попыток входа в систему, чтобы поделиться точкой 2007?

Спасибо.

PS: У меня есть еще один вопрос, я был бы очень признателен, если бы кто-нибудь помог мне в этом: Пользователи Sharepoint вышли из системы

Ответы [ 2 ]

0 голосов
/ 15 февраля 2011

Когда-то у нас было похожее требование, когда нам нужно было регистрировать время последнего посещения всех пользователей сайта.Таким образом, через некоторое время, например, через 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();
            }
        }
    }
}

}

Вы можете вставить эту веб-часть на свою главную страницу, так как данные в этом списке необходимо обновлять при каждой загрузке страницы.

Не уверен, что это лучший способ сделать это / проблемы с производительностью, но поскольку наш сайт был небольшим, мы могли справиться с этим довольно хорошо.

0 голосов
/ 14 февраля 2011

Я не смог найти много без стороннего инструмента. Наша группа изучает возможность приобретения DocAve AvePoint .

В то же время вы можете хотя бы получить представление в области аналитики своего сайта на панели параметров своего сайта, чтобы узнать, сколько людей встретило страницу /_layouts/accessdenied.aspx. Это не скажет вам много, но, возможно, вы сможете найти способ настроить и добавить фрагмент кода, который будет принимать идентификатор пользователя при попадании на эту страницу. Он не идеален, поэтому я рекомендую сторонний инструмент, если вы не можете сканировать все веб-интерфейсы и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...