asp.net 로그인 컨트롤 (asp.net 구성에서 제공된 컨트롤) 설치하고 잘 작동합니다.Asp.net 로그인 제어 Autologout/AutoRedirect 및 레이블 값
3 분 후에 자동으로 사용자를 로그 아웃하도록 코드가 web.config에 추가되었습니다.
<authentication mode="Forms">
<!-- Autologout after xxx min. to login.aspx -->
<forms loginUrl="~/login.aspx" defaultUrl="~/login.aspx" slidingExpiration="true" timeout="3"/>
</authentication>
해당 코드를 사용하는 경우 autologout이 표시되고 3 분 후에 링크를 클릭하면 로그인 페이지가 표시됩니다.
어떻게 작동합니까? 그것은 로그인에서 3 분 또는 3 분의 비활성 후입니까?
또한 로그인 페이지에 레이블을 추가 한 다음 사용자에게 로그인 페이지로 리디렉션되는 이유를 알려줄 수 있습니까 (예)?
마지막으로 3 분 후에 사용자를 로그인 페이지로 리디렉션 할 수 있습니까? 그래서 3 분 후에는 아닙니다. 사용자가 링크를 클릭했지만 3 분이 지나면 새로 고침 (비활성 상태 인 경우) 후 로그인 페이지로 자동 이동하여 텍스트가있는 내 레이블을 표시하고 왜 로그인하지 않았는지 설명합니다. ??
.............................................. .................................................. .................................................. ..........................
아니오를 보면 작동하지 않습니다. 2 솔루션.
메인 페이지 (code_behind)에 다음과 같은 페이지가 있습니다. 세션 ("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
plz. 주요 질문에 추가 된 코드를 참조하십시오. –