【发布时间】:2019-09-18 01:50:11
【问题描述】:
为了安全,我使用 Jdeveloper 12.1.3 版本、Glassfish 服务器 3.1.2 版本和 Apache Shiro 开发了 ADF Web 应用程序。
登录操作和应用程序安全工作正常,但不是注销操作。
从应用程序注销后,它应该被重定向到登录页面。但它会抛出
"javax.servlet.ServletException: java.lang.IllegalStateException: org.apache.shiro.session.UnknownSessionException:没有会话 带有 id”错误。
注销动作方法代码是
public String logout() throws IOException {
try {
ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
externalContext.invalidateSession();
SecurityUtils.getSubject().logout();
} catch (Exception e) {
FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_ERROR, e.getMessage(), "");
FacesContext.getCurrentInstance().addMessage(null, msg);
e.printStackTrace(); // TODO: logger.
}
return "";
}
我有什么想念的吗?
【问题讨论】:
标签: oracle-adf glassfish-3 shiro