涉及到JAAS(Java 鉴别与授权服务)。本文重点介绍相关配置。
WEB-INFO/web.xml
<web-app>
<!--servlet等其他配置-->
<security-constraint>
<web-resource-collection>
<display-name>Example Security Constraint</display-name>
<web-resource-name>Secure Area</web-resource-name>
<url-pattern>/su/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>role1</role-name>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>ABC Administration Console</realm-name>
</login-config>
</web-app>
说明:
<display-name>和<web-resource-name>可以是任意,但最好起一个有意义的名。
<auth-constraint>中<role-name>约束了只有哪些角色可以访问由<url-pattern>指定的资源。
<http-method>对指定方法的访问进行限定,未指出的不进行限定。
<login-config>:内说明的是以何种方式进行身份验证,有三种可选值: None,Digest,Client-Cert,Basic,Form。
<realm-name>:区域名,可以是你想给客户看的提示信息。
当<login-config>使用FORM时:
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/ua/login.jsp</form-login-page>
<form-error-page>/ua/login.jsp?error=true</form-error-page>
</form-login-config>
</login-config>
页面login.jsp
<FORM name="logonForm" method="post" action="j_security_check">
<input name="j_username" type="text" />
<input name="j_password" type="password" />
</FORM>
在TOMCAT环境下:
使用的角色名来自tomcat的配置文件
${CATALINA_HOME}/conf/tomcat-users.xml。
在JBOSS环境下:
需要在jboss-web.xml中配置JAAS的安全域:
<jboss-web>
<security-domain>java:/jaas/adc</security-domain>
</jboss-web>
abc是web工程名
还需要配置JBOSS/server/conf/login-config.xml:
例如:用户信息存放在数据库的方式。
<policy>
<application-policy name = "abc">
<authentication>
<login-module code="org.jboss.security.auth.spi.DatabaseServerLoginModule"
flag="required">
<module-option name="dsJndiName">java:/abcDS</module-option>
<module-option name="principalsQuery">
SELECT PASSWORD_ FROM abc_ID_USER WHERE NAME_=?
</module-option>
</login-module>
</authentication>
</application-policy>
</policy>
例如:数据以.properties文件形式存在:
<application-policy name = "abc">
<authentication>
<login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule"
flag="required">
<module-option name="usersProperties">props/abc-user.properties</module-option>
<module-option name="rolesProperties">props/abc-role.properties</module-option>
<module-option name="unauthenticatedIdentity">anonymous</module-option>
</login-module>
</authentication>
</application-policy>
参考:http://www.blogjava.net/asktalk/archive/2005/07/23/8221.html
http://www.velocityreviews.com/forums/t142248-how-to-authenticate-under-jbossjaas-from-a-public-web-app-page.html
http://blog.csdn.net/benjamin_liu/archive/2007/08/28/1761645.aspx
分享到:
相关推荐
JEE2 实现文件上传需要了解 HTTP 请求机制和文件上传的基本原理,然后选择合适的框架和组件来实现文件上传功能。 知识点: * HTTP 请求机制 * ServletInputStream 对象 * 文件上传的基本原理 * JEE2 中的文件上传 ...
此外,还应当掌握JEE相关技术的细节,例如Servlet的工作原理、如何使用JEE提供的事务管理机制等。通过掌握JEE的零散基础知识和组件体系结构,开发者能够构建起企业级应用的核心能力,并逐渐深入到JEE开发的各个领域...
- 认证机制如Spring Security或 JAAS(Java Authentication and Authorization Service)可以用于安全控制,确保只有合法用户能访问系统资源。 2. **用户注册**: - 注册过程涉及新用户的创建,包括收集并验证...
它简化了创建和管理用户界面组件的过程,提供了数据绑定和事件处理机制。 4. **EJB(Enterprise JavaBeans)**:EJB是JEE中的核心组件,用于构建服务器端的业务逻辑。有三种类型的EJB:会话Bean(Session Beans)、...
8. **Internationalization and Security**:框架还提供了国际化和安全性的支持,包括对多语言的处理和各种安全机制,如SSL/TLS加密,身份验证等。 在实际开发中,使用Restlet JEE 2.0.3,开发者可以通过以下步骤...
7. **安全机制**:考虑到博客系统的用户登录和权限管理,可能会涉及Spring Security或Apache Shiro等安全框架,用于实现用户认证和授权。 8. **部署与运行环境**:项目通常会在Tomcat、Jetty等应用服务器上运行,而...
11. **安全机制**:如HTTPS、Spring Security,保护用户数据和交易安全。 12. **缓存技术**:如Redis,提高数据访问速度,减轻数据库压力。 13. **测试**:单元测试、集成测试、性能测试,确保代码质量。 以上就是...
- `Cookie`和`Session`的关系:两者都可以用来跟踪用户状态,但Cookie依赖于客户端,而Session依赖于服务器,且Session安全性更高。 3. **JSP** - JSP(JavaServer Pages)是动态网页技术,它将HTML和Java代码...
开发者可以通过集成Java EE的安全机制来进一步增强安全性。 9. **测试和支持(Testing and Support)**: 除了源代码,Restlet 2.0还提供了示例和测试用例,帮助开发者更好地理解和学习如何使用框架。此外,社区支持...
6. **安全和认证**:Restlet提供了安全和认证机制,支持基本认证、OAuth和其他安全策略,确保REST服务的安全性。 7. **性能优化**:Restlet框架对HTTP协议进行了优化,减少了不必要的对象创建和内存占用,提高了...
它提供了一整套安全认证和授权机制,包括登录验证、权限控制、CSRF 防护等功能。 **Spring Data** Spring Data 项目旨在简化数据访问层的开发,支持多种数据存储技术,如 JPA、NoSQL 数据库(MongoDB、Cassandra ...
4. **安全性**:JEE内置的安全机制,如角色-based访问控制(RBAC),确保了系统的安全性和合规性。 5. **可移植性**:JEE遵循开放标准,使得应用程序可以在任何兼容JEE的服务器上运行。 **电子商务系统的关键功能** ...
此外,JVM还实施了严格的代码安全性,如字节码验证和沙箱机制,确保代码在执行时不会对系统造成威胁。 Java代码的运行过程分为加载、校验和执行三个步骤。首先,类装载器加载CLASS文件,然后字节码校验器对代码进行...
描述中的“NULL”意味着没有具体的项目描述,但我们可以从标题推测,这个压缩包可能包含了一个完整的JEE6项目,该项目已经实施了JAAS的安全机制。博主可能在博客中详细介绍了如何配置和使用JAAS来保护应用程序,包括...
JEE平台提供了完善的技术支持,包括数据库管理、安全机制、会话管理等,可以满足交友网站的技术需求。 2.1.3 法规可行性 在开发过程中,需遵守相关法律法规,如用户隐私保护、网络安全法等,确保网站运营的合法性...
8. **异常处理**:良好的异常处理机制是任何项目必不可少的部分,它能确保系统在遇到错误时能够优雅地处理,提供友好的错误信息给用户。 9. **安全措施**:考虑到购物网站涉及支付和用户隐私,设计中应包含安全措施...
在用户管理模块,使用JEE中的认证和授权机制,可以实现安全的用户登录和权限控制。图书信息则可以通过JPA(Java Persistence API)与数据库进行交互,实现数据的持久化存储。对于图书分类和检索,可以利用EJB...
JEE的安全机制如Servlet Filter可以实现登录验证和权限控制。 3. **缓存策略**:静态化策略可以降低服务器压力,提高访问速度。例如,使用Redis缓存热门主题或频繁访问的数据。 4. **SEO优化**:静态化HTML页面有助...
7. **安全与权限**:在JEE环境中,整合可能涉及到与应用服务器的认证和授权机制集成,确保只有具备相应权限的用户才能触发或处理流程中的任务。 8. **监控和调试**:Activiti提供了强大的管理控制台,允许管理员...