Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.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
仅限制特定用户对JSP/Servlet的访问_Jsp_Servlets_Security Constraint - Fatal编程技术网

仅限制特定用户对JSP/Servlet的访问

仅限制特定用户对JSP/Servlet的访问,jsp,servlets,security-constraint,Jsp,Servlets,Security Constraint,我正在开发一个网络应用程序。我希望能够让一些朋友看到它,但不是其他人偶然发现的网址。我打算放一个登录页和一个简单的密码框。一旦输入了正确的密码,我会在会话中记录它,并在他们保持浏览器打开的剩余时间内像往常一样公开站点 有没有标准的方法可以做到这一点?我会在我的webapp中添加额外的代码来支持这一点,我不确定是否已经有了一种内置的方法(我正在使用javaservlet) 谢谢您应该考虑使用htaccess进行简单身份验证 请参见您可以使用的。这不需要额外的代码,只需要一个简单的登录表单和一个提交

我正在开发一个网络应用程序。我希望能够让一些朋友看到它,但不是其他人偶然发现的网址。我打算放一个登录页和一个简单的密码框。一旦输入了正确的密码,我会在会话中记录它,并在他们保持浏览器打开的剩余时间内像往常一样公开站点

有没有标准的方法可以做到这一点?我会在我的webapp中添加额外的代码来支持这一点,我不确定是否已经有了一种内置的方法(我正在使用javaservlet)


谢谢

您应该考虑使用htaccess进行简单身份验证

请参见您可以使用的。这不需要额外的代码,只需要一个简单的登录表单和一个提交到URL
j_security\u check
的输入和密码字段。以下是一个基本示例:

<form action="j_security_check" method="post">
    <input type="text" name="j_username">
    <input type="password" name="j_password">
    <input type="submit">
</form>
然后,在您正在使用的servletcontainer中,您需要为
Private
配置一个所谓的领域。由于不清楚您使用的是哪个servletcontainer,这里有一个Tomcat 8.0目标文档:。您可以将其配置为根据XML文件、数据库甚至自定义位置验证用户名/密码组合



另一种完全不同的方法是,借助
过滤器
对登录机制进行homegrow,该过滤器检查登录用户是否在会话范围内。请参阅并回答如何实现这一点。

这是特定于Apache HTTPD的。只有当他使用ApacheHttpD服务器作为JSP/Servlet容器前面的代理时,这才有效。
<security-constraint>
    <web-resource-collection>
        <web-resource-name>Private</web-resource-name>
        <url-pattern>/private/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <role-name>friends</role-name>
    </auth-constraint>
</security-constraint>

<login-config>
    <auth-method>FORM</auth-method>
    <realm-name>Private</realm-name>
    <form-login-config>
        <form-login-page>/private/login.jsp</form-login-page>
        <form-error-page>/private/error.jsp</form-error-page>
    </form-login-config>
</login-config>