1。首先从http://jcifs.samba.org 这个站点下载 jcifs-1.3.2.jar包。
2。把这个包放到相应的lib文件下面。
3。对web.xml文件进行配置,添加如下内容
<filter>
<filter-name>NtlmHttpFilter</filter-name>
<filter-class>jcifs.http.NtlmHttpFilter</filter-class>
<!--jcifs.http.domainController 这个参数指定了DNS服务器的地址-->
<init-param>
<param-name>jcifs.http.domainController</param-name>
<param-value>192.168.1.206</param-value>
</init-param>
<!--jcifs.netbios.wins 这个参数也指定了DNS服务器的地址
The WINS server 192.168.1.206 will be queried domain controller.
If that WINS server is not responding, 192.168.1.207 will bequeried.-->
<!--
<init-param>
<param-name>jcifs.netbios.wins</param-name>
<param-value>192.168.1.206,192.168.1.207</param-value>
</init-param> -->
<!--jcifs.smb.client.domain 这个参数指定了DNS服务器上面的域名-->
<init-param>
<param-name>jcifs.smb.client.domain</param-name>
<param-value>DLHT</param-value>
</init-param>
<!--jcifs.util.loglevel
0: Nothing
1: Critical [default]
2: Basic info. (Can be logged under load)
3: Detailed info. (Highest recommended level for production use)
4: Individual smb messages
6: Hex dumps
-->
<init-param>
<param-name>jcifs.util.loglevel</param-name>
<param-value>0</param-value>
</init-param>
<!--下面这两个参数是针对windows 2003服务器来设定.
这里的用户名必须是DNS服务器上面的用户名和密码
you provide init-parameters for thejcifs.smb.client.{domain,username,password}
properties to perform "preauthentication" for each transportto a domain contoller
so that a proper SMB signing key can be generated.
-->
<init-param>
<param-name>jcifs.smb.client.username</param-name>
<param-value>xxxx</param-value>
</init-param>
<init-param>
<param-name>jcifs.smb.client.password</param-name>
<param-value>c!23456</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>NtlmHttpFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
4。要对你的DNS服务器添加NetBIOS协议。
5。对你的IE进行设置,自动使用当前用户名和密码登录。(右击IE图标—>安全—>自定义级别-à用户验证---à自动使用当前用户名和密码登录)
6。用request.getRemoteUser();来获取当前登录的用户名。
通过对上面的配置以后,你就可以用当前配置 域中的用户进行登录了。
有什么地方写的不清楚,可以共同讨论。QQ:674706446
login.jsp登录页面
<%@ pagecontentType="text/html;charset=gbk" %>
<%
//String userId =request.getParameter("userId");
String userId = request.getRemoteUser();
userId =userId.substring(userId.indexOf("\\") + 1);
//passwordFlg 为单点登录标志 0为单点登录,1为正常登录
String str = "/ClientEnter?ClientEnter=" + userId +"&passwordFlg=0";
response.sendRedirect(str);
%>
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/OracleJ/archive/2008/12/23/3590497.aspx
分享到:
相关推荐
集成登录,又称为单点登录(Single Sign-On, SSO),是企业信息系统中一种常见的身份验证机制。它的核心理念是用户只需要进行一次身份验证,即可访问多个相互关联的系统,无需重复输入用户名和密码。这种机制显著...
jcifs实现SSO,SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是...
6. **单点登录(Single Sign-On, SSO)原理**:虽然标签中提到了“单点登录代码”,但jcifs本身并不直接提供SSO功能。不过,jcifs可以作为实现SSO的一个组件,因为它能处理网络认证。如果你打算开发SSO系统,理解...
CAS是实现单点登录的重要组件,简化了用户认证流程。当遇到Maven下载问题时,可以考虑手动添加依赖到项目。而Samba则是在操作系统层面上实现SMB协议,使得非Windows系统也能与Windows网络进行交互。
总的来说,通过Java和NTLM协议实现AD域的单点登录,能够提供安全、便捷的用户体验,同时减轻了IT部门的管理负担。在实际开发过程中,需要对AD域架构有深入理解,熟悉Java编程以及相关的身份验证机制。提供的资源,...
jcifs-ext-0.9.4.jar便是这样一个关键的拓展包,它为Java应用程序提供了与Windows网络身份验证交互的能力,特别是在实施单点登录(Single Sign-On, SSO)系统如CAS(Central Authentication Service)时。...
这个包主要实现了web系统的单点登录。在我的blog中有这个包的使用。
2. **jcifs**:一个Java库,实现了SMB协议,允许Java应用程序访问和操作Windows网络共享。 3. **SMB协议**:一种用于网络文件共享和打印服务的协议,常见于Windows环境。 4. **Hamcrest 1.3**:一个Java测试匹配...
在实际项目中,考虑到安全性,你可能需要使用更安全的身份验证机制,例如通过SSO(单点登录)或集成Active Directory。同时,为了提高性能,可以考虑使用缓冲区和多线程技术来读取大文件。 总的来说,jcifs库为Java...
特别强调的是,Jespa支持NTLMv2协议,能够实现Web客户端的单点登录(SSO)功能。通过HttpSecurityService,它可以与saslclient NTLMv2的HttpURLConnection协作,为Oracle JNDI LDAP实现NTLMv2身份验证和加密传输。这...
总结起来,Java实现雪花飘落效果涉及到了Java图形编程、动画制作、随机数生成、坐标系统理解等多个方面,而jcifs库可能在项目的构建或依赖管理中发挥作用。对于初学者来说,这是一个很好的练习项目,可以帮助他们...
- **增强的单点登录支持**:提升了单点登录体验。 #### 关键概念 - **过滤器(Filters)**:Spring Security使用一系列过滤器来处理安全性相关的请求; - **认证管理器(Authentication Manager)**:负责验证用户...
其中一种常用的方法是通过 SPNEGO(Simple and Protected GSSAPI Negotiation Mechanism)实现单点登录(Single Sign-On,简称 SSO)。本文将详细介绍如何在 Tomcat 中配置 SPNEGO 基于 SSO 的方式与 Active ...
Apache Storm 是一个分布式实时计算系统,它允许开发者处理无界数据流,以实现高吞吐量、低延迟的数据处理。Storm 0.9.4 版本是该项目的一个早期稳定版本,提供了许多基础特性和改进。 1. **分布式计算模型**: ...
标题提到的"ntlmv2-auth"是一个专为Java设计的库,它实现了NTLMv2的身份验证机制,以便在Java应用程序中进行单点登录(Single Sign-On, SSO)操作。SSO是一种让用户在访问多个相互关联的应用时只需一次登录的技术,...
- 实现FTP或SMB协议,可能使用第三方库如`libftp`或`jcifs-ng`来连接和操作远程服务器。 - 处理网络连接的异步任务,如使用`AsyncTask`或`LiveData`。 6. **UI设计**: - 使用`Material Design`组件,如`Bottom...
5. **网络编程**:备份到局域网共享目录需要对网络有深入理解,可能涉及SMB(Server Message Block)协议,Java中的`jcifs`库可以用来处理SMB共享,实现对局域网内共享目录的访问。 6. **权限管理**:备份到局域网...