當我檢查會話變量是否設置或在我的詳細信息頁面中時,我不斷收到「自定義腳本模塊中的錯誤」。即使會話變量沒有設置,是不是這個聲明應該給我真假,而不是錯誤?如何檢查會話變量是否已設置?
<cfif StructKeyExists(session.mysiteShibboleth, "isAuthenticated") and (session.mysiteShibboleth.isAuthenticated) >
<cflog text="Session-Defined-5: isAuthenticated" type="Information" file="Authentication">
<cfelse>
<cflog text="Session-Defined-7: It's not authenticated'" type="Information" file="Authentication">
</cfif>
在我的authenticate.cfm文件中,這是設置會話變量的地方。
<cfif cgiReferer eq shibboleth_url>
<cfscript>
session.mysiteShibboleth = StructNew();
session.mysiteShibboleth.username=REReplace(http_header.headers.eppn, "@mysite.com","","ALL");
session.mysiteShibboleth.mail=http_header.headers.eppn;
session.mysiteShibboleth.groups=ArrayToList(REMatch('WEB\.[A-Z.-]+', http_header.headers.member));
session.mysiteShibboleth.isAuthenticated="true";
</cfscript>
</cfif>
我也嘗試了以下,它仍然出錯。我已閱讀此thread,它似乎並沒有解決我的問題。
<cfif IsDefined("session.mysitecShibboleth.isAuthenticated")>
你得到什麼錯誤? –
它是在抱怨'session.mysiteShibboleth.isAuthenticated'還是僅僅'session.mysiteShibboleth'?你的第一塊代碼假設存在'session.mysiteShibboleth',這可能不是這種情況。 YOu需要給我們這樣的事情*實際*錯誤信息。 –
您是否在'application.cfc'中啓用了會話管理? –