Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java forms auth与j_security_check和Glassfish_Java_Glassfish 3_Netbeans 7_J Security Check - Fatal编程技术网

Java forms auth与j_security_check和Glassfish

Java forms auth与j_security_check和Glassfish,java,glassfish-3,netbeans-7,j-security-check,Java,Glassfish 3,Netbeans 7,J Security Check,我将脚尖伸进了Java的浑水中,我正在使用Netbeans7完成PackPub JavaEE 6。早期的一个例子是表单身份验证,它涉及到使用安全角色“admin”和约束设置部署描述符(web.xml)。然后,通过将这些角色分配给新组,然后使用Glassfish控制台在这些组中创建新用户,引导您获取Glassfish描述符 当我尝试访问此受保护页面中的某个页面时,我会按预期显示登录页面,但我的登录不起作用。即使我知道我正在输入在glassfish控制台中创建的有效凭据,我仍然会得到我的登录错误页面

我将脚尖伸进了Java的浑水中,我正在使用Netbeans7完成PackPub JavaEE 6。早期的一个例子是表单身份验证,它涉及到使用安全角色“admin”和约束设置部署描述符(web.xml)。然后,通过将这些角色分配给新组,然后使用Glassfish控制台在这些组中创建新用户,引导您获取Glassfish描述符

当我尝试访问此受保护页面中的某个页面时,我会按预期显示登录页面,但我的登录不起作用。即使我知道我正在输入在glassfish控制台中创建的有效凭据,我仍然会得到我的登录错误页面(在j_security_check URL上呈现)

登录页面的基本功能如下:

    <%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Log in to view secure content</title>
    </head>
    <body>
        <h1>Log in</h1>
        <form action="j_security_check" method="POST">
            <table border="0">
                <tbody>
                    <tr>
                        <td slign="right">Username: &nbsp;</td>
                        <td><input type="text" name="j_username" value="" /></td>
                    </tr>
                    <tr>
                        <td slign="right">Password: &nbsp;</td>
                        <td><input type="password" name="j_password" value="" /></td>
                    </tr>
                    <tr>
                        <td></td>
                        <td><input type="submit" value="Login" /></td>
                    </tr>
                </tbody>
            </table>

        </form>
    </body>
</html>
我的新用户有一个“Admin”组列表


谢谢

您使用的是自定义登录页面吗

如果您配置了所有内容,也可以查看您的登录页面,您应该有如下内容

<form method="POST" action="j_security_check">
    <input type="submit">
    <!-- more code -->
</form>

试一试

<login-config>    
  <auth-method>BASIC</auth-method>    
  <realm-name>file</realm-name>  
</login-config>

基本的
文件

是的。大约两年前,但我也遇到了同样的问题,并找到了解决方案。尽管我按照书中的说明安装了正确版本的Netbeans(7.0)和正确版本的jdk(1.6.0_45),但Netbeans随glassfish 3.1一起提供。因此,我所做的是从Netbeans中删除glassfish服务器,卸载它,然后安装glashfish 3.0.1,所以现在我的示例运行得非常好。别忘了以系统管理员的身份执行Netbeans。

嗨,路易斯,是的,这是一个自定义登录页面。我已经在原始帖子中添加了代码。它看起来更像glassfish配置,而不是你的web应用,因为我从未尝试过,所以我可能帮不了什么忙。但是试着将它的登录配置更改为基本文件。你检查过密钥文件了吗?@alf:没有,那是哪里?我刚刚开始,所以不知道在哪里/如何如果您没有在管理控制台中更改它,它的路径是domain dir/config/keyfile。打开它并验证它是否包含您的用户。也许questin的答案对您和我都有帮助?
Configuartions|Security|Realms|file
<form method="POST" action="j_security_check">
    <input type="submit">
    <!-- more code -->
</form>
<login-config>    
  <auth-method>BASIC</auth-method>    
  <realm-name>file</realm-name>  
</login-config>