在 Apache Geronimo 中创建登录和注册系统,第 1 部分: 使用 J2EE 声明式安全性和 Geronimo 内置的 Derby 数据库
2010-04-19 00:00:00 来源:WEB开发网有兴趣的项目用粗体表示。第一个是 configId,当稍后在 geronimo-web.xml 文件中扩展这个模块时它很重要。接下来,定义部署计划的依赖性。部署计划用这些 .jar 文件执行第一个 GBean(LoginModuleGBean)中定义的特定于数据库的任务。这个 GBean 指定登录模块 SQLLoginModule,这意味着要使用数据库来检索用户名和口令。接下来有六个 JDBC 标识符。这些标识符定义了如何用标准的 JDBC 协议连接到数据库,以便在 Java 语言中连接到数据库。下面是对每个标识符的功能的解释:
jdbcUser 定义连接数据库的用户名。
jdbcPassword 是连接数据库的口令。
jdbcURL 是数据库的 “connect” URL。
jdbcDriver 是连接数据库使用的驱动程序。
userSelect 是从数据库检索用户名和口令所执行的 SQL。
groupSelect 是从数据库检索组名和相关的用户名所执行的 SQL。
接下来,在 loginDomainName 中定义域或领域,它引用 GenericSecurityRealm GBean。GenericSecurityRealm GBean 把自己命名为 my-sql-realm,并把自己连接到配置的 JaasLoginModuleUse GBean。这个配置 GBean 指定登录的属性和行为,并把自己和第一个 LoginModuleGBean 链接。因此,在认证用户的登录凭证时,有三个 GBean 协同工作。
下面,定义特定于应用程序的安全性。
定义安全性配置
web.xml 文件可以为 Web Apps 公司定义许多事。它定义了两个 security-roles、两个 security-constraints 和一个 login-config。请创建一个叫做 web.xml 的文件,把它放在应用程序的 WEB-INF 目录,并像 清单 3 所示那样定义它。
清单 3. web.xml 文件
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<security-role>
<role-name>registered-users</role-name>
</security-role>
<security-role>
<role-name>administrators</role-name>
</security-role>
<security-constraint>
<web-resource-collection>
<web-resource-name>Registered Users</web-resource-name>
<url-pattern>/users/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>registered-users</role-name>
<role-name>administrators</role-name>
</auth-constraint>
</security-constraint>
<security-constraint>
<web-resource-collection>
<web-resource-name>Administrators Only!</web-resource-name>
<url-pattern>/admin/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>administrators</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>FORM</auth-method>
<realm-name>Jetty Realm</realm-name>
<form-login-config>
<form-login-page>/login/login.html</form-login-page>
<form-error-page>/login/loginError.html</form-error-page>
</form-login-config>
</login-config>
</web-app>
- ››Apache添加mod_aspdotnet.so支持ASP.NET配置指南
- ››Apache中改变php.ini的路径
- ››Apache2.2与Tomcat6整合及虚拟主机配置
- ››Apache+php+mysql在windows下的安装与配置图解
- ››创建基于PPTP的站点到站点VPN连接:ISA2006系列之...
- ››创建基于L2TP的站点到站点的VPN连接:ISA2006系列...
- ››创建一个Twisted Reactor TCP服务器
- ››Apache+Subversion完美结合,CentOS下实现版本控制...
- ››创建Windows Mobile上兼容性好的UI 程序
- ››创建android的Service
- ››创建远古部落环境与原住民角色
- ››Apache HTTPServer2.2.16 发布
更多精彩
赞助商链接