Tomcat JAAS 简单的登录

 Java Authentication Authorization Service(JAAS,Java验证和授权API)提供了灵活和可伸缩的机制来保证客户端或服务器端的Java程序。[来自百度百科]

  登录界面

  注意 下面的 name是不可以修改的(原因待我去google下)

 <form method="POST" action="j_security_check">  
      姓名:<input type="text" name="j_username"/><br/>  
      密码:<input type="password" name="j_password"/><br/>  
      <input type="submit" value="登录"/>  
 </form>


错误界面

<body>
   粗错了……
</body>

创建一个你要访问的界面

比如 mangement.html

<body>
     hello world
</body>


  web.xml 配置

  注意 下面的<role-name>admin</role-name> 要和 你的tomcat 安装目录下的conf/tomcat-users.xml 里面的配置相同。

      默认下的tomcat-users.xml 是注释掉的。你需要把注释去掉!!!!

    <security-constraint>
        <web-resource-collection>
            <web-resource-name>admin page</web-resource-name>
            <url-pattern>/html/*</url-pattern>
            <url-pattern>/html/mangement.html</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <role-name>admin</role-name>
        </auth-constraint>
    </security-constraint>
    <login-config>
        <auth-method>FORM</auth-method>
        <form-login-config>
            <form-login-page>/html/login.html</form-login-page>
            <form-error-page>/html/errorPage.html</form-error-page>
        </form-login-config>
    </login-config>
    <security-role>
        <role-name>admin</role-name>
    </security-role>


tomcat-users.xml 的配置  默认的配置是注释的。我是在注释外面写的。。。同学们不要像我粗心的。。。

<!-- 
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <user username="tomcat" password="tomcat" roles="tomcat"/>
  <user username="both" password="tomcat" roles="tomcat,role1"/>
  <user username="role1" password="tomcat" roles="role1"/> 

  -->

  <role rolename="admin"/>
   
  
  <user username="adminUser" password="adminPassword" roles="admin"/>


  还有一个问题就是如果你想访问tomcat里的manage 项目你需要登录。但是我请求就出错的。原因:

    我用的是ubuntu ,普通用户 打开tomcat ,访问的时候没有权限。。。。

   java.lang.IllegalStateException: No output folde

这位网友说的清楚了[摘自]http://wapiknow.baidu.com/question/547327065.html   

org.apache.jasper.JasperException: java.lang.IllegalStateException: No output folder:
关于这个原因主要是权限的问题,在tomcat/work/Catalina/localhost/,主要是这个目录没有被读写的权限,导致文件不能被编译到该指定的工作目录中,此时我们就要针对与这个目录做一些权限的修改权限至少要达到755或者以上,同时注意此处修改权限必须用root身份进行操作,否则不能进行修改,修改完后编译好的jsp文件就在localhost的目录当中了




你可能感兴趣的:(tomcat,jaas)