Asktalk

天行健,君子以自强不息!
posts - 21, comments - 79, trackbacks - 0, articles - 2
  BlogJava :: 首页 ::  :: 联系 :: 聚合  :: 管理

tomcat页面设置访问权限

CSDN网址:http://blog.csdn.net/fasttalk
刚从CSDN搬到这里,先发表一篇!
web应用中,对页面的访问控制通常通过程序来控制,流程为:

登录 -> 设置session -> 访问受限页面时检查session是否存在,如果不存在,禁止访问

对于较小型的web应用,可以通过tomcat内置的访问控制机制来实现权限控制。采用这种机制的好处是,程序中无需进行权限控制,完全通过对tomcat的配置即可完成访问控制。

为了在tomcat页面设置访问权限控制,在项目的WEB-INFO/web.xml文件中,进行如下设置:

其中,<url-pattern>中指定受限的url,可以使用通配符*,通常对整个目录进行访问权限控制。
<auth-constraint>
中指定哪些角色可以访问<url-pattern>指定的url,在<role-name>中可以设置一个或多个角色名。

使用的角色名来自tomcat的配置文件${CATALINA_HOME}/conf/tomcat-users.xml

<login-config>中设置登录方式,<auth-method>的取值为BASICFORM。如果为BASIC,浏览器在需要登录时弹出一个登录窗口。如果为FORM方式,需要指定登录页面和登录失败时的提示信息显示页面。

使用FORM方式的配置样例如下:

其中的<form-login-page>指定登录页面url<form-error-page>指定登录失败时的提示页面url
登录页面中,formaction,以及其中的用户名和密码两个参数的名称,都应取固定的值。登录的后台处理程序为j_security_check;用户名和密码的参数名称分别为:j_usernamej_password
如下是登录页面(如:login.jsp)的一段示例代码:

 


评论

# re: J2EE安全策略:为tomcat页面设置访问权限(j_security_check)  回复  更多评论   

2005-12-13 20:04 by 小陈故事
不适合大型企业级应用,仅仅适合角色相对固定的应用系统(如学校的一些应用)

# re: J2EE安全策略:为tomcat页面设置访问权限(j_security_check)  回复  更多评论   

2006-03-01 17:42 by GUEST
可以通过数据库添加删除和改变用户和角色,完全可以适合企业应用啊。
不明白一楼为什么这么说,呵呵

# re: J2EE安全策略:为tomcat页面设置访问权限(j_security_check)  回复  更多评论   

2006-03-11 08:58 by question
<form method="POST" action='<%= response.encodeURL("j_security_check") %>' >
能不能不用post,用get?

# re: J2EE安全策略:为tomcat页面设置访问权限(j_security_check)  回复  更多评论   

2006-07-28 11:20 by 什么都可以
请问登录进去后,接着执行哪里,在这里哪个地方配置了.这里好象只提到了登录页面和失败页面,那假如登录成功,接下来做什么,在哪里指定咧?这个问题是我一直迷惑的地方,请指教.

# re: J2EE安全策略:为tomcat页面设置访问权限(j_security_check)  回复  更多评论   

2006-09-20 18:20 by binge
和楼上的相同的疑问

# re: J2EE安全策略:为tomcat页面设置访问权限(j_security_check)  回复  更多评论   

2006-12-27 17:22 by JIEVA
<url-pattern>/ddly/admin/*</url-pattern>
这句的意思是ddly/admin下的所有页面都必须通过验证才能访问。
也就是说,比如我要登陆系统的主页面ddly/admin/index.jsp,我在地址栏输入这个地址,因为没有验证过,所以就跳到/login.jsp页面让你输入用户名和密码,当然要是tomcat相应角色下的,如果输入正确就会到你要去的主页面,如果不正确,就会到/error.jsp.
大家就是这样的,我刚实现了一个,不过是用weblogic的验证

# re: J2EE安全策略:为tomcat页面设置访问权限(j_security_check)  回复  更多评论   

2007-01-24 14:38 by conan
可以通过数据库添加删除和改变用户和角色,完全可以适合企业应用啊。


如何通过呢?能介绍一下么?

# re: J2EE安全策略:为tomcat页面设置访问权限(j_security_check)  回复  更多评论   

2007-01-24 18:16 by JIEVA
个人觉得这种登陆认证策略只适合后台管理页面的控制,不适合前台注册用户的登陆认证。因为这种依赖于服务器的用户和角色都得手动的在服务器中配置,不适合大量帐号的应用。前台的大量注册用户的登陆应该用你的方法通过数据库了。而后台的管理帐号只是几个而已,没必要再操作数据库了。

# re: J2EE安全策略:为tomcat页面设置访问权限(j_security_check)  回复  更多评论   

2007-11-08 20:24 by 姜利阳
不错!

# re: J2EE安全策略:为tomcat页面设置访问权限(j_security_check)[未登录]  回复  更多评论   

2008-01-08 18:32 by jack
我在login.jsp里输入的用户名和密码传到了 j_security_check中,然后我在哪里写检查数据库中是否有此用户及密码对不对的代码呢?

# re: J2EE安全策略:为tomcat页面设置访问权限(j_security_check)  回复  更多评论   

2008-07-18 16:30 by s
可以用GET代替POST,只是个人信息容易被人发现。
因为GET方式要传参数

只有注册用户登录后才能发表评论。


网站导航: