.NET 2.0 中使用Active Directory 应用程序模式 (ADAM)
Active Directory 应用程序模式 (ADAM) ,由于其目录支持和安全性、可伸缩性和本机轻型目录访问协议 (LDAP) 支持的丰富集成,Microsoft® Windows® 2000 和 Microsoft® Windows® Server 2003 中的 Active Directory® 目录服务成为用于 intranet 和 extranet 的增长最为快速的目录服务。Windows Server 2003 中的 Active Directory 建立在该成功的基础上,并支持许多针对信息技术 (IT) 专业人员和应用程序开发人员的新的 LDAP 功能。Active Directory 应用程序模式便是这些新功能之一。想要将应用程序与目录服务集成的组织、独立软件供应商 (ISV) 和开发人员现在可以使用 Active Directory中的一个提供众多优点的附加功能.
关于ADAM的详细信息参看文档:ADAM 循序渐进指南,指南中包含安装、管理ADAM的详细内容。Active Directory 联合身份验证服务 (ADFS) 是 Windows Server® 2003 R2 最重要的组件之一。ADAM可以和ADFS整合,MSDN 杂志有一篇文章Active Directory 联合身份验证服务开发简介。
.NET 2.0的Membership成员管理系统提供了一个AD的Provider:ActiveDirectoryMembershipProvider
使用ActiveDirectoryMembershipProvider 非常简单:
Web.config 设置:
<connectionStrings>
<add name="ADAMConnectionString" connectionString="LDAP://ServerName:389/OU=SSUsers,DC=SS_AT"/>
</connectionStrings>
<system.web>
<membership defaultProvider="MyADAMMembershipProvider">
<providers>
<add name="MyADAMMembershipProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="ADAMConnectionString" connectionUsername="CN=ADAMAdmin,OU=SSUsers,DC=SS_AT" connectionPassword="yourAdminUserPassword" connectionProtection="None" enableSearchMethods="true" enablePasswordReset="false" requiresQuestionAndAnswer="false" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" />
</providers>
</membership>
</system.web>
说明:
- 服务器名称就是安装ADAM的机器名称.
- 确保connectionUserName 的用户有管理员权限.
具体内容可参看CodeProject文章:Working with Active Directory Application Mode(ADAM) in .NET 2.0 WS-Federation for Apache 2.0 Toolkit : http://www.sourceid.org/projects/ws-federation-apache WindowsSharePointServices 和 SharePoint Portal Server 2003 支持边界用于 Active Directory 联盟服务: http://support.microsoft.com/kb/912492/zh-cn Technical Video: Citrix and ADFS: http://www.jaytomlin.com/blog/2006/12/technical_video_citrix_and_adf_1.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Java 11 新垃圾回收器 ZGC
- Red and Black(DFS 深搜练习)
- Codeforces Round #619 (Div. 2)
- 问题 1255: [蓝桥杯][算法提高]能量项链
- C# 开发技巧]如何防止程序多次运行 线程 进程
- 问题 1433: [蓝桥杯][2013年第四届真题]危险系数
- C# dev GridControl绑定数据不能显示
- Codeforces Round #621 (Div. 1 + Div. 2)(无比自闭的一夜)
- 牛客小白月赛22 A~~J
- P1914 小书童——密码
- sql server 2008 把远程的数据库的数据转移到本地数据数据库里
- 蓝桥杯 试题 基础练习 阶乘计算
- Java Lamada
- 试题 基础练习 高精度加法
- C# devExpress GridControl 行中行 子行 多级行