我正在尝试为我的Java EE / JSF2应用程序实现正确的注销。
它需要两件事:
Siteminder注销URL(在策略服务器上配置->我无法更改)在应用程序上下文之外。例如。如果我的Web应用程序URL为https://
localhost:8080 / sm /
MyWebApp,
则注销URL为https:// localhost:8080
/ anotherwebapp /
logout.html。
这是当前的本地注销代码:
public void logout() {
System.out.println("Logging out...");
HttpServletRequest request = (HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest();
try {
request.logout();
} catch (ServletException e) {
e.printStackTrace();
}
HttpSession session = (HttpSession)FacesContext.getCurrentInstance().getExternalContext().getSession(false);
if (session != null) {
session.invalidate();
}
}
这是产生注销URL的属性:
public String getLogoutUrl() {
HttpServletRequest request = (HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest();
String requestServer = request.getServerName();
String requestScheme = request.getScheme();
int serverPort = request.getServerPort();
String logoutUrl = requestScheme + "://" + requestServer + ":" + Integer.toString(serverPort) + "/anotherwebapp/logout.html";
return logoutUrl;
}
但是,我找不到可以调用logout()然后打开外部URL的JSF2 / Primefaces组件。例如,如果我有:
<h:outputLink value="#{authBean.logoutUrl}" onclick="#{authBean.logout()}">[Logout]</h:outputLink>
那么似乎未调用onclick。
我尝试的另一种方法是将外部URL放到注销函数的末尾,以使其作为导航字符串返回,但无法识别(也尝试使用“?faces-redirect = true”
…)。
任何帮助,将不胜感激。
您可以创建一个页面logout.xhtml,因此代码如下所示:
public String getLogoutUrl() {
return "/logout.jsf";
}
并在页面中添加:
<META HTTP-EQUIV="Refresh" CONTENT="0;URL=https://localhost:8080/anotherwebapp/logout.html">
此页面包含来自 Booyant 和 linkerd 用户的关于 linkerd 的博客和谈话。 通过 Buoyant的博客 查看更多的帖子! 注: 详细列表请见原文(没有翻译的必要): https://linkerd.io/overview/external-resources/
基本上,我的项目是一场战争(MyProject),导入2罐,MyProject-Client和MyProjectJar-API 我的项目 MyProjectJar-API - 有一个接口 MyProject-Client -想要注入在MyProject上生成的ParametroService 我想知道是否可以将ParameterService(在MyProject上生成)注入MyProject客户
我想支持全屏导航UI,如下所示: https://medium.com/androiddevelopers/windowinsets-listeners-to-layouts-8f9ccc8fa4d1 https://developer.android.com/guide/navigation/gesturenav 虽然我的应用程序的所有活动都运行良好,但我突然碰到了一个有问题的问题,它有一个带有
接下来我们将添加外部认证支持。这真的很简单,因为你所需要的实际上只是一个 ASP.NET Core 兼容的认证中间件。 ASP.NET Core 自身已经承载了对 Google,Facebook,Twitter,Microsoft 账户 以及 OpenID Connect 的支持。另外你可以在 这里 找到更多其他的认证提供程序。 添加 Google 支持 为了能够使用 Google 进行身份验证,
BottomBar有4个目的地:ScreenA,ScreenB,ScreenC和ScreenD。 在ScreenA上按下按钮(不是底部栏项)时,我想使用参数转到ScreenB。 导航图 底部栏 到目前为止,单击ScreenA上的按钮会将我导航到ScreenB,但参数值始终为0,因为我永远不会传递在lambda中传递的参数。我使用的是compose_version='1.2.0-alpha04'和"
我有一个关于底部导航栏的奇怪问题,虽然我花了大量时间在它上面,但我无法解决。当我以“推荐”的方式(从许多教程中)使用它时,它就是无法导航。 那么,我所说的“推荐”方式是什么意思呢:我有一个单独的acticity,其中有一个名为“MainActivity”的navHostFragment。这个主要活动有一个XML布局文件,我将底部导航栏放在其中。BottomNavigationBar还有一个XML布