use*_*755 4 coldfusion session logout coldfusion-9 coldfusion-10
我有一个工作正常的登录页面.现在我想退出.
以下是我的header.cfm文件中的链接.如果会话变量是true显示"注销".如果没有,则显示"登录".所以我只想注销.
<a id="login-link" href="login.cfm">
<cfif session.userLoggedIn>logout <cfelse>LogIn</cfif>
</a>
Run Code Online (Sandbox Code Playgroud)
的Application.cfc
public boolean function onRequestStart(string targetPage)
{
if(findNocase("login.cfm", arguments.targetPage))
{
return true;
}
else if(session.userLoggedIn)
return true;
else
{
include "login.cfm";
return false;
}
}
public void function onSessionStart(struct sessionObj)
{
session.userLoggedIn = false;
}
Run Code Online (Sandbox Code Playgroud)
logIn.cfm
<cfif isDefined("form.btn_login") >
<cfset userResultResponse = communtiyServic.getUsers(form.user,form.pwd)>
<cfset userQry = userResultResponse.getQryData() >
<cfif userQRY.recordCount gt 0 >
<cfset session.userLoggedIn = true />
<cflocation url="index.cfm" >
<cfelse>
<cfoutput>invaled userName or password </cfoutput>
</cfif>
</cfif>
Run Code Online (Sandbox Code Playgroud)
如果你正在使用CFID和CFTOKEN你的会话识别cookie(你可能不应该,但它是默认值),那么你应该只需要调用SessionInvalidate()你的logout()方法.这将使服务器和客户端之间的会话连接无效.我不确定它是否会使服务器上的会话数据到期,但如果没有,它将在超时期限后自动超时.同时它在客户端无法访问,无论出于什么意图和目的,它都能满足您的需求.
| 归档时间: |
|
| 查看次数: |
2548 次 |
| 最近记录: |