相关疑难解决方法(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中的访问权限?

我希望在用户登录系统后控制访问权限.

例如:

administrator : can add, delete and give rights to employee
employee : fill forms only
...
Run Code Online (Sandbox Code Playgroud)

因此,在知道用户具有哪些权限后,检查数据库,我想限制该用户可以看到和执行的操作.有一个简单的方法吗?

编辑

@WebFilter("/integra/user/*")
public class LoginFilter implements Filter {

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws ServletException, IOException {    
        HttpServletRequest req = (HttpServletRequest) request;
        Authorization authorization = (Authorization) req.getSession().getAttribute("authorization");

        if (authorization != null && authorization.isLoggedIn()) {
            // User is logged in, so just continue request.
            chain.doFilter(request, response);
        } else {
            // User is not logged in, so redirect to …
Run Code Online (Sandbox Code Playgroud)

jsf login-control jsf-2 servlet-filters

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

用于登录的身份验证过滤器和servlet

我有一个用于登录的过滤器.它在"用户名"和"密码"字段上执行文本检查.当且仅当文本检查正确完成时,请求才会进入Servlet.后者执行必须与数据库交互的控件.这个链条是否正确?

authentication servlets login-control servlet-filters

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

JSF HTTP会话登录

我尝试在Web应用程序中创建登录表单.在我可以使用的JSP页面中

<%
   String name = request.getParameter( "username" );
   session.setAttribute( "theName", name );
%>
Run Code Online (Sandbox Code Playgroud)

但现在我使用JSF/Facelets进行Web应用程序我不知道如何在JSF Backing bean中为客户端创建会话,并检查用户是否已登录,因此它将重定向到登录页面.谁能帮我提一下这些问题的链接教程?谢谢你

现在我没有遇到映射到类Filter的web.xml代码的问题

@Override
public void init(FilterConfig filterConfig) throws ServletException {
    this.config = filterConfig;
}

@Override
public void doFilter(ServletRequest request, ServletResponse response,
        FilterChain chain) throws IOException, ServletException {
    HttpServletRequest req = (HttpServletRequest) request;
    HttpServletResponse res = (HttpServletResponse) response;
    LoginController controller = (LoginController) req.getSession()
            .getAttribute("loginController");
    if (controller == null || !controller.isLoggedIn()) {
        res.sendRedirect("../admin/login.xhtml");
    } else {
        chain.doFilter(request, response);
    }
}
Run Code Online (Sandbox Code Playgroud)

并在web.xml我用<fitler>标签映射

<filter>
    <filter-name>userLoginFilter</filter-name> …
Run Code Online (Sandbox Code Playgroud)

jsf

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

何时从Container托管安全转移到Apache Shiro,Spring Security等替代方案?

我正在尝试保护使用JSF2.0构建的应用程序.

我很困惑人们什么时候选择使用像Shiro,Spring Security或owasp的esapi这样的安全替代品来留下容器管理的安全性.看过Stack Overflow上的一些相关问题后,我意识到JSF开发人员过去更喜欢基于容器的安全性.但我也强烈建议使用Apache Shiro.我是安全问题的新手,不知道可能是什么相关问题以及如何处理它们.因此,我正在寻找通过其默认设置/自己处理大多数安全问题的东西.

就我的应用程序需求而言,我有一个社交应用程序,具有不同角色的用户可以访问不同的页面集,并可以根据他们的角色在这些页面上使用不同级别的功能.

在那种情况下,您认为对我来说可能是一个很好的选择吗?

我个人已经确信选择Shiro,因为它易于使用并且为新手照顾大部分事情.

java security jsf jaas shiro

19
推荐指数
2
解决办法
9320
查看次数

有没有简单的方法来预处理和重定向GET请求?

我正在寻找最佳实践答案.我想为GET请求做一些预处理.因此,例如,如果不允许用户查看该页面,则将其重定向到另一页面.但我不想使用普通的servlet过滤器,因为我想表达这种行为faces-config.xml.这是可能的,如何调用,怎么做?

我可以定义一些Filter bean,它还返回一个String,告诉faces-config.xml下一步该去哪里?

我用Google搜索,但只打了正常的过滤器.如果我使用的过滤器,可以一个@WebFilter@ManagedBean在同一时间?还是那种糟糕的风格?

authentication jsf jsf-2 servlet-filters

11
推荐指数
1
解决办法
9249
查看次数

使用Java中的过滤器验证用户名,密码(与数据库联系)

以下是使用过滤器的Java代码片段,如果用户名和密码也正确,则每次都会显示错误页面.请帮帮我,我对这个概念知之甚少.

String sql="select * from reg where username='"+user+"' and pass='"+pwd+"'";
rs=st.executeQuery(sql);
if(rs.next())
{
    chain.doFilter(request,response);
}
else
    sc.getRequestDispatcher("/error.html").forward(request,response);
Run Code Online (Sandbox Code Playgroud)

authentication jsp servlets login servlet-filters

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

如何检查用户是否在Servlet中登录?

Java Servlet的我想编程方式检查用户是否登录没有.

java authentication servlets java-ee

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

会话到期时的授权重定向不适用于提交JSF表单,页面保持不变

我正在使用JSF2.我已经实现了一个自定义面部servlet,如下所示:

public class MyFacesServletWrapper extends MyFacesServlet {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

其中我正在进行一些授权检查并在用户未登录时发送重定向:

public void service(ServletRequest request, ServletResponse response) {
    HttpServletRequest req = (HttpServletRequest) request;
    HttpServletResponse res = (HttpServletResponse) response;

    if (...) {
        String loginURL = req.getContextPath() + "/LoginPage.faces";
        res.sendRedirect(loginURL);
    }
}
Run Code Online (Sandbox Code Playgroud)

这在用户尝试导航到另一个页面时有效.但是,当JSF命令链接/按钮提交JSF表单时,这不起作用.该行sendRedirect()线被击中并执行,没有异常被抛出了,但用户停留在同一页面.基本上,根本没有视觉变化.

为什么这适用于页面导航,而不是表单提交?

java jsf redirect authorization jsf-2

8
推荐指数
1
解决办法
9452
查看次数