相关疑难解决方法(0)

使用j_security_check在Java EE/JSF中执行用户身份验证

我想知道当前的方法是关于使用JSF 2.0(如果存在任何组件)和Java EE 6核心机制(登录/检查权限/注销)的Web应用程序的用户身份验证,其中包含用户信息保存在JPA中实体.Oracle Java EE教程在这方面有点稀疏(仅处理servlet).

没有使用整个其他框架,如Spring-Security(acegi)或Seam,但如果可能的话,试图用新的Java EE 6平台(Web配置文件).

authentication jsf jaas j-security-check java-ee

155
推荐指数
3
解决办法
14万
查看次数

如何在JSF中实现登录过滤器?

即使用户知道某些页面的URL,我也想阻止访问某些页面.例如,/localhost:8080/user/home.xhtml(需要先登录)如果没有记录则重定向到/index.xhtml.

在JSF中如何做到这一点?我在Google上读到需要过滤器,但我不知道该怎么做.

jsf authorization login jsf-2 servlet-filters

47
推荐指数
1
解决办法
6万
查看次数

如何处理数据库中用户的身份验证/授权?

目前,我正在使用JSF 2.0,Tomcat 7和MongoDB开发一个Web项目.我有一个很大的问题,如何处理数据库中用户的会话管理和身份验证/授权.

我想要的结构如下:只有登录用户才能创建事件,每个人都可以看到创建的事件.

  • create.xhtml - >仅适用于已登录的用户.
  • events.xhtml - >为大家公开.

我计划的基本结构是:

  • 检查页面是否需要登录用户(例如create.xhtml)
  • 如果是,请检查用户是否已登录
  • 如果用户未登录,请转到 login.xhtml
  • 如果成功登录,请返回请求的页面
  • 除非用户单击"注销"按钮,否则请保留"用户已登录"信息.(我想@SessionScoped进入比赛)

问题是:

  1. 这种不那么复杂的方法是什么?
  2. 我应该在哪里使用@SessionScoped注释?在Create.javaLoginManager.java
  3. 对于我的问题,Spring安全性看起来很复杂,我真的需要它吗?如果是的话,你能解释一下实现如何与JSF 2.0和Mongo DB一起工作吗?

database authentication jsf authorization java-ee

28
推荐指数
1
解决办法
3万
查看次数

基于用户角色渲染JSF组件

如何根据登录用户的角色呈现JSF组件?我知道外部上下文暴露了主体,但是我应该如何在JSF中正确地进行呈现?在JSP中它会是这样的

<% isUserInRole(Roles.ADMIN) { %>
<button>Edit!</button>
<% } %>
Run Code Online (Sandbox Code Playgroud)

我如何以最好的方式在JSF中编写这个?我最好的猜测是渲染属性绑定到一个返回布尔值的支持bean的方法,但如果我必须只为管理员渲染一些导航项,那将引入一个无关的支持bean ...

Glassfish V3.1,JSF 2.x

jsf jsf-2

16
推荐指数
2
解决办法
3万
查看次数

如何正确使用isUserInRole(角色)

防止用户角色执行操作.

  1. 示例1:角色"administrator"是允许执行销毁操作的唯一角色.
  2. 示例2:与"guest"不同的任何角色都可以执行CREATE操作.

在一个真实的案例中,我有这个:

public String delete() {
 if(FacesContext.getCurrentInstance().getExternalContext().isUserInRole("administrator"){
   //.....the action to perform
 }
 return "Denied";
}
Run Code Online (Sandbox Code Playgroud)

我希望我可以使用@RolesAllowed()EJB 的注释,但我不使用EJB而是使用ManagedBeans.所以问题是:有没有办法同时使用多个角色?一些解决方法!示例:如果必须允许对3个角色执行操作(管理员,主持人,经理).我有义务这样做:

if (FacesContext.getCurrentInstance().getExternalContext().isUserInRole("administrator")
    || FacesContext.getCurrentInstance().getExternalContext().isUserInRole("manager") 
    || .....) {
  //....
}
Run Code Online (Sandbox Code Playgroud)

重现所有方法都很痛苦.像数百种方法的东西:(

jsf servlets java-ee

14
推荐指数
2
解决办法
2万
查看次数

通过直接更改JSF中的URL来限制用户访问页面

我的应用程序中有两种用户 - 客户和卖家.我PhaseListener在JSF中使用a 来阻止用户在不登录的情况下访问页面,但是在他们登录后我不知道如何阻止用户更改位置栏中的URL并访问他不允许的页面.例如,阻止客户访问卖家页面.

有没有人知道如何防止这种非法访问?

java jsf authorization

7
推荐指数
1
解决办法
6593
查看次数

用户登录后如何限制使用JSF 2访问某些页面?

我想根据用户访问权限限制对某些JSF页面的访问.如何在JSF中做到这一点?我找到了两个链接:通过直接更改JSF中的URL来限制用户访问页面.但答案没有提到如何阻止访问页面.用response.sendError?第二个链接:JSF:如何控制JSF中的访问权限和权限?

还有什么最好使用PhaseListener或使用ServletFilter?

security jsf-2

6
推荐指数
1
解决办法
4519
查看次数

如何检查用户是否已登录?

我希望在用户未登录时显示登录链接,并在用户登录时显示登出链接.我正在使用中定义的容器管理安全性web.xml.

我怎样才能做到这一点?

jsf jsf-2

5
推荐指数
1
解决办法
1万
查看次数