新浪微博 Github

tomcat中修改角色及实现登陆验证框功能

在我们ftp登录时都会出现一个如图所示的提示框,这个功能可以通过配置我们的文件进行实现,而不需要写任何的代码。



一、修改角色(添加、删除)


conf/tomcat-users.xml存放tomcat的角色,默认有admin、manager等角色,如果想要添加自定义的角色,可以通过形如

<user username="xiazdong" password="xiazdong" roles="user"/>形式,我们现在配置了一个名字为xiazdong,密码是xiazdong,角色是user的用户。

如果重启tomcat,在tomcat-users.xml中会自动生成一个<role rolename="user"/>的语句。


二、实现登录验证


在WEB-INF/web.xml中需要写入形如

	<security-constraint>
		<web-resource-collection>
			<web-resource-name>RegisterUsers</web-resource-name>
			<url-pattern>/demo/security.jsp</url-pattern>				<!-- 验证的网页的位置-->
		</web-resource-collection>
		<auth-constraint>
			<role-name>user</role-name>			<!-- 验证的角色,别写成用户名-->
		</auth-constraint>
	</security-constraint>
	<login-config>
		<auth-method>BASIC</auth-method>			<!-- 关键-->
		<realm-name>Registered Users</realm-name>
	</login-config>
	<security-role>
		<role-name>user</role-name>			<!-- 验证的角色,别写成用户名-->
	</security-role>

重启tomcat,则可以写一个security.jsp验证一下。

输入用户名为xiazdong,密码是xiazdong即可登录网页。

如果角色是user的话,则能够看到网页。

<%@ page contentType="text/html" language="java" pageEncoding="GB2312"%>
<html>
	<head>
		<title>title</title>
	</head>
	<body>
		<%
		if(request.isUserInRole("user")){
			out.println("Hello world");
		}

		%>

	</body>
</html>


posted @ 2011-10-21 19:41  xiazdong  阅读(250)  评论(0编辑  收藏  举报