2011-02-14 4 views

답변

0

:

추신 : 누군가가 나를 도움이된다면 나는 너무 다른 질문을 가지고, 정말 감사하게 될 거라고. 우리 그룹은 DocAve를 AvePoint으로 인수하려고합니다.

최소한 사이트 설정 대시 보드의 사이트 분석 영역에서 아이디어를 얻으면 /_layouts/accessdenied.aspx 페이지가 몇 명이나 있는지 확인할 수 있습니다. 그다지 알려주지는 않겠지 만 사용자가 페이지를 조회 할 때 사용자 ID를 사용하는 코드 스 니펫을 사용자 정의하고 추가하는 방법을 찾을 수 있습니다. 완벽하지 않으므로 웹 프런트 엔드 등을 모두 스캔 할 수 없다면 제 3 자 도구를 제안 할 것입니다.

0

Google은 모든 사용자의 마지막 방문 시간을 사이트. 따라서 특정 사용자가 사이트에 로그인하지 않은 경우 일정 기간 (예 : 90 일) 후에 관리자가 프로필을 삭제할 수 있습니다.

우리는이 문제를 아주 간단한 방법으로 극복했습니다. 참조 용 샘플 코드를 따라갈 수 있습니다.

"UserLoginDetails"라는 이름으로 사이트에 목록을 만들고 그 안에 "LastLogIn"열을 만들어야합니다. 코드 자체 설명입니다. 이 목록의 데이터가 모든 페이지로드 업데이트해야합니다으로 당신은 당신의 masterpage이는 WebPart를 삽입 할 수 있습니다

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(); 
      } 
     } 
    } 
} 

}.

어떤 것이 성능/성능 문제를 해결하는 가장 좋은 방법인지는 모르겠지만 우리 사이트가 작은 사이트 였기 때문에이 방법으로 관리 할 수있었습니다.

관련 문제