最近开发了一个简单的管理后台,后台用户管理都用的是AspNetSqlMembershipProvider这一套框架,添加和删除用户的功能在开发阶段通过ASP.NET网站管理工具完成。
部署到服务器上时,可通过IIS的.net用户节点来管理用户(需要高版本的IIS)。
但是在部署到服务器上IIS8时,提示所使用的provider程序不受信任,无法执行相关操作。
根据提示信息,应该是说使用的provider节点没有在Administration.config中将Provider配置在受信任的节点中。
但从直觉上看觉得不可能,因为使用的就是AspNetSqlMembershipProvider,难道是版本不对。
尝试按照提示的说明找到了Administration.config,找到trunstedProviders节点,咋一看确实配置了,但仔细看发现这里配置的加了版本号和Token。
<trustedProviders allowUntrustedProviders="false"> <add type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <add type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <add type="System.Web.Security.WindowsTokenRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> </trustedProviders>
而自己部署的程序里,没有加上版本号。
拷贝里面的type复制到网站配置中,问题解决,在IIS上顺利点开.NET用户并进行用户管理。