存档

文章标签 ‘ASP.NET’

使用COM+ Application方式解决终极身份模拟

2009年8月24日 没有评论

前一段时间开发了一个AD账号和Exchange 2003邮箱的Web管理器,里面就遇到一个非常棘手的问题:ASP.NET的运行并不是真的运行身份,而是模拟的。Exchange 2003与2000的CDOEXM的一个主要区别却是出于安全考虑不再支持ASP.NET的这种身份模拟,其执行权限取自进程的身份。

这为使用asp.net开发BS的邮箱管理器制造了一个难题,或者提升asp.net应用程序池标示的运行权限,或者放弃一些功能。

在网上找到一些老外也遇到类似的问题,但是得到的答复是建议使用Exchange的官方管理器来完成相应操作,这个是By Design的问题。但是我也找到了一个高人的解决办法,就是使用COM+ Application来托管关键操作。详细的参考下面链接的说明:

http://blogs.msdn.com/mstehle/archive/2007/05/11/howto-using-cdoexm-in-asp-net-net-framework-2-0-walkthrough.aspx

分类: ASP.NET, Windows 标签: ,

WWF的网站使用了新的.NET Framework 3.0的域名

2006年6月16日 没有评论

我们知道,WinFX被重新名为.NET Framework 3.0。可见WinFX对于.NET Framework的重要性,虽然我认为3.0和2.0之间的间隔似乎太短了,但是WinFX作为.NET Framework 3.0来讲,当之无愧!

为此,WinFX有了自己的网站:http://www.netfx3.com 。同时,WWF的网站也变为了:http://wwf.netfx3.com 。在这个网站里面,除了我们熟悉的WWF、WCF、WPF以外,还多出来了一个Windows CardSpace(WCS),这是一个什么呢?

鉴于WinFX重新命名为.NET Framework 3.0,以及原来WinFX以及其部件WWF、WCF、WPF有着众多的针对VS2005的扩展,根据.NET Framework 1.0 到 .NET Framework 1.1的升级伴随着VS.NET2002到VS.NET2003的升级,我估计在.NET Framework 3.0的正推出,VS2005会有一个新的本版或者一个大扩展包或者一个ServicePack的产生。随着各种各样的VS2005的扩展插件的产生,VS2005越来越像是一个半成品。

让我们静静期待下一个完美的VS的到来吧!

分类: ASP.NET, WWF 标签: ,

mojoPortal远比想象的强大

2006年4月1日 没有评论

使用了一下,发现mojo还可以支持LDAP的验证!暗想,那这岂不是可以支持AD了,看来需要好好研究一下mojo的代码了…中文版的mojoPortal 2.0进行中…

分类: ASP.NET 标签:

对于.net Framework的System.Net下面的CredentialCache类的补充说明

2006年3月28日 没有评论

我在使用CredentialCache的Add方法的时候,不知道其他的几个authType怎么来写。在Google的帮助下,从微软的Support网站找到一些提示:

"Basic":基本身份认证(明文传送用户名和密码)

"Digest":Windows域服务器的摘要式身份认证

"Negotiate":Windows集成身份认证(至少在这种认证方式下可用)

希望对调用有身份认证要求的WebService的朋友有帮助!

分类: AD, ASP.NET, dotNET 标签: , ,

ASP.NET通过使用Membership管理用户(1):Membership介绍

2005年12月28日 没有评论

ASP.NET成员为你提供了一套内置的验证和存储用户信任的方法。因此,ASP.NET成员可以帮助你在你的Web应用当中管理用户验证。你可以在Forms验证的时候使用ASP.NET成员,也可以在通过登录控件来创建一整套用户管理系统。

ASP.NET成员轻松支持如下特性:

  • 创建用户和密码
  • 在微软SQLServer、AD或者其他数据源当中存储成员信息(用户名,密码和其他数据)
  • 鉴别访问站点的用户。你可以按照自己的意愿鉴别用户,也可以通过ASP.NET登录控件不编写代码或者很少编写来创建一整套用户鉴别系统。
  • 管理密码,包括创建、更改和重设密码。依赖于你设置的membership选项,membership系统提供自动实现基于用户提供的问答来重设密码的实现。
  • 为鉴别过的用户提供一个唯一的标识,以便你能把这些标识应用在你的应用系统的个性化和规则系统(授权)系统当中。
  • 定制特殊的成员provider,允许你用自己的代码替代并管理和维护存储在定制数据存储中的成员数据。

成员,规则和用户配置

虽然成员是ASP.NET用户鉴定的一个半独立特性,但是它可以与ASP.NET规则管理整合,以此为你的站点提供授权服务。成员也可以与用户配置相整合,以此提供针对用户的特殊应用细节。详细内容请参考“使用规则管理授权”和“ASP.NET配置属性”。

Membership如何工作

如果要使用成员,必须首先在站点中配置。大体上需要如下的步骤:

  1. 在你的站点配置添加成员配置参数。默认情况下,成员是被打开的。你也可以指定自己使用的成员provider。(对于实践的时候来讲,就是指定你想用以保存用户信息的数据库。)默认的provider是微软SQL Server数据库。你也可以选择AD来存储成员信息,或者你自己指定一个特定的provider。如果要得到更多关于在你的ASP.NET应用的Web.config文件中配置成员的信息,请参考“配置ASP.NET应用使用Membership”。
  2. 配置你的应用使用Forms鉴别(区别于Windows或者Passport鉴别)。你代表性的可以指定应用中的某些页和文件夹是受保护的,只有经过鉴别的用户才可以访问。
  3. 定义成员的用户帐号。你可以通过两种方法完成这个步骤。你可以使用Web站点管理工具提供的向导页面来创建新用户。你可以通过ASP.NET页来自己收集用户名、密码(邮件地址可选),然后使用成员功能提供的“CreateUser”方法在成员系统当中创建新用户。

你可以在你的应用当中使用成员鉴别用户。大多数情况下,你需要提供一个登录窗口,他可以是一个隔离的页或者隔离的文件夹。你可以使用ASP.NET的TextBox控件手动创建登录窗口,也可以使用ASP.NET的登录控件。因为你配置应用使用Forms鉴别,所以当用户在访问受保护的页面的时候,ASP.NET将自动显示登录页。

注释:ASP.NET的登录控件(Login、LoginView、LoginStatus、LoginName和PasswordRecovery)包含了所有的事实上需要的所有成员系统的受信任用户的提示和验证用户信用的逻辑。

如果你使用登录控件,这些登录控件将自动使用成员系统来验证用户。如果你自己手动创建一个登录窗口,你可以提示用户提交一个用户名和密码,然后调用ValidateUser方法来执行用户确认。在用户被确认以后,用户的相关信息可以一直在Forms鉴别当中使用(例如:如果用户的浏览器接受cookies,将使用加密的cookie)。登录控件将自动执行这个任务,如果你手动创建登录窗口,你必须调用FormsAuthentication对象的方法来创建cookies,并写入用户的电脑。如果用户忘记了他的密码,登录窗口也可以调用成员的功能来帮助用户可以回忆起密码或者创建一个新的密码。

分类: ASP.NET 标签:

ASP.NET通过使用Membership管理用户(1):前言

2005年12月26日 没有评论

译者前言
ASP.NETv2与前一个版本之间的一个比较显著的区别就是添加了membership管理。这个是一个显著的特性。希望可以通过MSDN里面的这一篇"Managing Users by Using Membership"来打到抛砖引玉的作用。本文的版权属于MSDN。转载译文请标明出处来自于http://blog.zhangchi.com.cn

原著前言
ASP.NET成员可以使你的Web应用有效的管理用户信息。它提供了一些功能,诸如:确认用户,创建和修改成员用户,和管理用户的密码、电子邮件地址之类的用户信息。ASP.NET成员主要用在ASP.NET的Forms验证,但是也可以使用在Web应用的任何地方。

ASP.NET成员使你可以管理你的应用用户验证,并将信息存储到你的数据源当中。因为ASP.NET成员用户提供了成员数据的数据源,所以你不比扩展任何代码就可以读写用户信息。

ASP.NET成员主要有内置的成员Provider组成,它与数据源通信,并由静态的membership对象暴露出成员Provider的功能。你可以在你的ASP.NET代码中调用membership对象来执行用户的确认和管理。

  • 内容目录
  • Membership的介绍
  • 对照Membership与Windows和Passport验证
  • Membership对象
  • Membership Provider
  • 配置ASP.NET应用使用Membership
  • Membership的安全性
  • 实现一个Membership
分类: ASP.NET 标签:

[整理]创建使用ASP.NET的IIS虚拟主机必须要注意的一个步骤

2005年11月9日 没有评论

我们在创建IIS的虚拟主机的时候,一般都是在本地创建一个目录,然后把虚拟主机的根设置为这个目录。这是一般的方法,所以一班不会有问题,但是在如下两个场景会出现错误:

1.在这个虚拟主机上面创建SPS站点,在登录以后,页面会出现不可访问的错误。部署SPS的具体补丁情况不明确。

2.在这个虚拟主机上面部署YetAnotherForum论坛程序的时候,在一些二级页面会出现页面空白。

这个时候可以采用在服务器上运行“aspnet_regiis -i”来解决。对于第二个场景一定可以解决,对于第一个场景,至少在我现在客户的服务器环境解决了问题。

“aspnet_regiis -i”将为每一个虚拟主机创建一个aspnet_client的文件夹,具体这个文件夹的作用我还说不好,但是可以确定的是一些控件的客户端脚本是在其内的,以及SmartNav的客户端脚本也是在其内的。

分类: ASP.NET 标签:

说说Yet Another Forum的域整合验证

2004年11月5日 没有评论

上次向飞鹰推荐了Yet Another Forum论坛,但是飞鹰没有用。他不用没关系,我用。我在现在实施SPS的项目中,客户不满意SPS的讨论版。我本来想使用ASP.NET Forum 2,但是现在发现她变成商业的了,于是我们决定使用Yet Another Forum,它是GPL的。开源+免费有什么不好?

YetAnotherForum的域整合非常简单,首先要在安装一个非域验证的实例,在选择管理员账号的时候比较有技巧:帐号最好和将来域里面准备作为论坛管理员的账号一致。这样做是为了在与域整合以后不用再调整论坛的管理员了。其他的安装可以按照软件包里面的说明进行。

在非域验证配置完成以后,我们开始进行域整合的配置。我们需要修改Web.Config,将验证方式改为

<authentication mode="Windows">
</authentication>

然后修改IIS关于这个应用的验证方式为Windows域服务器的摘要式身份验证,同时将你论坛程序所在的目录赋予读/执行/列表权限给相应的域用户。

这样在你再次访问的时候,你就会发现已经能像SPS一样整合使用与账号了。而你当初指定的那个账号会自动变成管理员了。这样你就可以开始你的其他论坛配置了。

分类: ASP.NET 标签: