在IIS中使用Windows域服务器域摘要式身份验证对Web应用程序进行访问
2008-01-23 17:07
961 查看
http://blog.csdn.net/dkman803/archive/2007/07/23/1703826.aspx
优势:使用IIS6中的Windows域服务器域摘要式身份验证对应用程序的访问进行控制。
可以在有域控制器的网络中不用特意去维护用户列表和用户密码列表。
这样开发者只需要关注用户的权限就,从而简化管理。
这样可以简化管理,尤其是有多套并行运行的信息系统的情况下。
2.Web服务器向域服务器进行身份验证。
3.通过之后与IIS服务器建立一个线程。
4.从线程中获取用户信息再进行程序内部权限控制。
物理结构
逻辑结构
//用于域用户认证
using System.Threading; //Windows HTTP线程命名空间
private void setRule(string rulename)
...{
WindowsPrincipal wp = (WindowsPrincipal)Thread.CurrentPrincipal; //创建对象wp 用于Thread创建一个http线程,CurrentPrincipal获取线程的当前域角色
string wpname = wp.Identity.Name.ToString();
int j = wpname.LastIndexOf(“/”); //程序取出的字符串是 “Domain/Administrator”(Domain域,域用户Administrator) 形式的所以我们需要把用户名和用户账号所属的域的字符串分离开
string userName = wpname.Substring(j + 1); //取得分隔符后的用户在域中的身份字符串保存在userName中,然后根据这个用户字符串在数据库中查询到用户相应的访问权限
string domainName = wpname.Substring(0, j); //取得到分隔符前为止的字符串保存在domainName中
}
优势:使用IIS6中的Windows域服务器域摘要式身份验证对应用程序的访问进行控制。
可以在有域控制器的网络中不用特意去维护用户列表和用户密码列表。
这样开发者只需要关注用户的权限就,从而简化管理。
这样可以简化管理,尤其是有多套并行运行的信息系统的情况下。
一、实现原理
1.客户访问IIS服务器。2.Web服务器向域服务器进行身份验证。
3.通过之后与IIS服务器建立一个线程。
4.从线程中获取用户信息再进行程序内部权限控制。
物理结构
逻辑结构
二、Windows设置
我们以Windows2003 SP2 IIS6 ASP.Net 2为试验系统三、IIS设置
四、代码实现
程序中使用到的命名空间System.Threading 命名空间提供一些使得可以进行多线程编程的类和接口。 除同步线程活动和访问数据的类(Mutex、Monitor、Interlocked、AutoResetEvent 等)外, 此命名空间还包含一个 ThreadPool 类(它允许用户使用系统提供的线程池) 和一个 Timer 类(它在线程池线程上执行回调方法)。
代码说明:当通过域认证之后,生成一个HTTP线程连接到IIS服务器,然后从线程中获得域域身份信息。
之后根据域身份信息来获取用户在Web应用程序中的权限。
//用于域用户认证
using System.Threading; //Windows HTTP线程命名空间
private void setRule(string rulename)
...{
WindowsPrincipal wp = (WindowsPrincipal)Thread.CurrentPrincipal; //创建对象wp 用于Thread创建一个http线程,CurrentPrincipal获取线程的当前域角色
string wpname = wp.Identity.Name.ToString();
int j = wpname.LastIndexOf(“/”); //程序取出的字符串是 “Domain/Administrator”(Domain域,域用户Administrator) 形式的所以我们需要把用户名和用户账号所属的域的字符串分离开
string userName = wpname.Substring(j + 1); //取得分隔符后的用户在域中的身份字符串保存在userName中,然后根据这个用户字符串在数据库中查询到用户相应的访问权限
string domainName = wpname.Substring(0, j); //取得到分隔符前为止的字符串保存在domainName中
}
相关文章推荐
- 在IIS中使用Windows域服务器域摘要式身份验证对Web应用程序进行访问控
- 在IIS中使用Windows域服务器域摘要式身份验证对Web应用程序进行访问控
- 通过使用客户端证书调用 Web 服务以便在 ASP.NET Web 应用程序中进行身份验证
- 使用 Apache Shiro 为 web 应用程序进行用户身份验证
- 默认情况下禁用对此 Web 服务器的访问,因为它受基本身份验证的控制并且不使用安全套接字层(SSL)
- 使用 Apache Shiro 为 web 应用程序进行用户身份验证
- IIS报错:您尝试在此 Web 服务器上访问的 Web 应用程序当前不可用
- Windows8[Web应用程序项目***已配置为使用IIS。无法访问IIS元数据库,您没有足够的特权访问计算机上的IIS网站]
- 通过URL,使用HttpURLConnection进行请求/响应,访问web服务器图片等资源。异常报错
- VS2015[Web应用程序项目***已配置为使用IIS。无法访问IIS元数据库]
- 通过使用客户端证书调用 Web 服务进行身份验证(zz)
- Windows8[Web应用程序项目***已配置为使用IIS。无法访问IIS元数据库,您没有足够的特权访问计算机上的IIS网站]
- 如何在 Web 发布规则中使用证书进行 SSL 身份验证
- 通过使用客户端证书调用 Web 服务进行身份验证(zz)
- asp.net发布网站到服务器上时候出现“/web”应用程序中的服务器错误。访问 IIS 元数据库失败。 用于运行 ASP.NET 的进程帐户必须具有对 IIS 元数据库(如 IIS://servername/W3SVC)的读访问权。
- Web应用程序项目以配置使用IIS。未找到Web服务器
- 解决: 关于配置局域网内通过一台WEB服务器连接到域服务器进行身份验证的IP设置
- 使用C#WebClient类访问(上传/下载/删除/列出文件目录)由IIS搭建的http文件服务器
- 通过使用客户端证书调用 Web 服务进行身份验证{转}