以下是会话到期的C#代码:
Session.Timeout = Convert.ToInt32(Application["SessionExpire"]);
if (Convert.ToBoolean(Request.QueryString["Expired"]) == true)
{
txtMsg.ForeColor = System.Drawing.Color.Red;
txtMsg.Text = "Session expired";
}
当会话到期时,会将其重定向到登录页面,但登录的userName
和logout
选项仍然可见。这必须在下面的脚本中进行。
<p>
<% if (oIdentity != null)
{ %>
Welcome, <% if (oIdentity.LoginId > 0)
{
Response.Write(oIdentity.Display.LoginName + " - "); %> <a href="#" id="DoLogOut">LogOut</a>
<% }
else
{ %>
Guest
<% }
} %>
</p>
我需要删除userName并隐藏注销选项。有可能吗?
答案 0 :(得分:0)
如果您使用的是表单身份验证,则可以对用户进行签名:http://msdn.microsoft.com/en-us/library/system.web.security.formsauthentication.signout%28v=vs.110%29.aspx
如果您使用的是Windows身份验证,则非常棘手。您可以在IE中执行此操作,但不能在其他浏览器中执行此操作。
如果不是,请在问题中澄清。
答案 1 :(得分:0)
一个非常懒惰的尝试是重新执行页面中的检查,改变这一行:
Welcome, <% if (oIdentity.LoginId > 0)
到这个
Welcome, <% if (oIdentity.LoginId > 0 && Convert.ToBoolean(Request.QueryString["Expired"]) == false)