【发布时间】:2011-12-08 11:19:12
【问题描述】:
如果用户尝试从其他位置登录,我想知道如何以编程方式在 Sharepoint 中注销用户。
谢谢。
【问题讨论】:
-
另一个位置是什么意思?如果您在 Intranet 中运行 sharepoint,则意味着您只能从 Intranet 访问和登录。
标签: c# security sharepoint login
如果用户尝试从其他位置登录,我想知道如何以编程方式在 Sharepoint 中注销用户。
谢谢。
【问题讨论】:
标签: c# security sharepoint login
您所说的另一个位置是指尝试在 2 个不同的设备上登录吗?
所以如果我在电脑上登录,然后尝试在手机上登录,手机应该无法登录,应该将用户注销?
如果这是正确的,那么:
在用户会话开始时
if (System.Web.HttpContext.Current.Application[System.Web.HttpContext.Current.User.Identity.Name] != null)
{
System.Web.HttpContext.Current.Response.Redirect("http://<server>/_layouts/SignOut.aspx");
}
else
{
System.Web.HttpContext.Current.Application[System.Web.HttpContext.Current.User.Identity.Name] = System.Web.HttpContext.Current.Request.UserHostAddress;
}
在用户会话结束时
if (System.Web.HttpContext.Current.Application[System.Web.HttpContext.Current.User.Identity.Name] != null && System.Web.HttpContext.Current.Request.UserHostAddress != System.Web.HttpContext.Current.Application[System.Web.HttpContext.Current.User.Identity.Name])
{
System.Web.HttpContext.Current.Application.Remove(System.Web.HttpContext.Current.User.Identity.Name);
}
如果您的会话超时时间过长并尝试在原始会话被破坏之前登录到另一台设备,您可能会看到问题。
【讨论】: