gpt4 book ai didi

java - Jetty JDBCLoginService 基于角色的访问不起作用

转载 作者:行者123 更新时间:2023-11-29 20:48:44 31 4
gpt4 key购买 nike

这是这篇文章的后续内容:Jetty JDBCLoginService using null in mysql request您可以在其中找到领域配置。

我正在使用 jetty JDBCLoginService 在我的应用程序中进行授权,当然,我的数据库中有值(value)。我的 web.xml 的授权部分

<security-constraint>
<web-resource-collection>
<web-resource-name>
Areas with authentication required
</web-resource-name>
<url-pattern> /protected/* </url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>*</role-name>
</auth-constraint>
<user-data-constraint>
<transport-guarantee> NONE </transport-guarantee>
</user-data-constraint>
</security-constraint>
<login-config>
<auth-method>FORM</auth-method>
<realm-name>gateway_jndi</realm-name>
<form-login-config>
<form-login-page>/public/login.jsf</form-login-page>
<form-error-page>/public/login.jsf</form-error-page>
</form-login-config>
</login-config>

我的 backingbean 的登录部分:

public void login() {
ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
HttpServletRequest request = (HttpServletRequest) externalContext.getRequest();
try {
Faces.login(getUsername(), getPassword());
FacesContext.getCurrentInstance().getExternalContext().redirect(request.getContextPath() + "/protected/statistiques.jsf");
}
catch (ServletException ex) {
FacesContext context = FacesContext.getCurrentInstance();
context.addMessage(
"formMsg",
new FacesMessage(
FacesMessage.SEVERITY_INFO,
messagesBundle.getString("main.gateway.title.error"),
messagesBundle.getString("main.gateway.common.controller.error.login")
)
);
} catch (IOException e) {
e.printStackTrace();
}
setPassword(null);
}

使用它时,我总是在控制台中收到带有 !role 的 403,如果我使用 **,我可以登录应用程序。

我的支持 bean 中缺少某些内容,还是问题与 jetty 有关?

最佳答案

好吧,我正在了解 web.xml 中的角色,例如:

<security-role>
<role-name>administrator</role-name>
</security-role>

看起来:

<auth-constraint>
<role-name>*</role-name>
</auth-constraint>

表示应用程序已知的任何角色,而不是数据库中的任何角色。

关于java - Jetty JDBCLoginService 基于角色的访问不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38227973/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com