asp.net ログイン コントロール (asp.net 構成から提供されたコントロール) をセットアップしましたが、正常に動作しています。
web.config にコードを追加して、3 分後にユーザーを自動的にログアウトするようにしました。
<authentication mode="Forms">
<!-- Autologout after xxx min. to login.aspx -->
<forms loginUrl="~/login.aspx" defaultUrl="~/login.aspx" slidingExpiration="true" timeout="3"/>
</authentication>
そのコードを使用すると、自動ログアウトが行われ、3 分後にリンクをクリックすると、ログイン ページが表示されます。
これはどのように作動しますか?ログインから3分ですか、それとも3分間の非アクティブ後ですか!?
また、ログインページにラベルを追加して、ログインページにリダイレクトされた理由をユーザーに伝えることはできますか?
最後に、3 分後にユーザーをログイン ページにリダイレクトする方法を教えてください。3分後ではありません。次に、ユーザーがリンクをクリックすると、3 分後に更新され (非アクティブの場合)、自動的にログイン ページにジャンプし、自分のラベルをテキストで表示して、ログインしていない理由を説明します!??
................................................................... ................................................................... ................................................................... ...................................
いいえを見ると、うまくいきません。2 ソリューション。
私のメインページ (code_behind) では、これを page_load Session("logintime") = DateTime.Now.ToString() に応答書き込みで持っています。メインページでこれを取得します 01-10-2012 18:30:42、現在は 18 :37:25 まだリダイレクトされておらず、プラウサー ウィンドウでまったく操作を行っていません。
メインページの私のコードは.
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="default.aspx.vb" Inherits="_default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
var count = 30000
var timeLoggedIn = new Date('<%=Session("logintime")%>')
var timeLogOut = new Date('<%=Session("logoutTime") %>');
setTimeout(LoggedInCheck(), 30000);
function LoggedInCheck() {
var now = new Date();
var now_utc = new Date(now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate(), now.getUTCHours(), now.getUTCMinutes(), now.getUTCSeconds());
if (now_utc > timeLogOut) {
window.location = "http://www.google.dk";
}
}
function countDown() {
if (count <= 0) {
// window.location = redirect;
} else {
count--;
document.getElementById("timer").innerHTML = "This page will redirect in " + count + " seconds."
setTimeout("countDown()", 1000)
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<span id="timer">
<script>
countDown();
</script>
</span>
</div>
</form>
</body>
</html>
Code_behind
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
Session("logintime") = DateTime.Now.ToUniversalTime().ToString("MM/dd/yyyy hh:mm:ss")
Session("logoutTime") = DateTime.Now.ToUniversalTime().AddMinutes(3).ToString("MM/dd/yyyy hh:mm:ss")
Response.Write("time now: " & Session("logintime"))
Response.Write("<br />")
Response.Write("reload at time: " & Session("logoutTime"))
End If
End Sub