是否可以在.NET中为CAS Shibboleth编写MembershipProvider?
答案 0 :(得分:2)
当您想要更改数据源(从sql到xml)时,通常使用自定义MembershipProvider。通过实现MembershipProvider,您可以覆盖Providerbase方法并更改,例如,成员资格将验证用户是否存在或存储位置的位置。 所以答案是肯定的,但是有一些缺点。 Asp.Net中的成员资格通常是应用程序的一部分,应该在同一个域中运行,这与身份验证机制(如OpenId或Shibboleth)不同。这意味着您可以将MembershipProvider包裹在Shibboleth周围,但最终可能会遇到一些此提供程序不支持的方法(例如,重置密码函数)。拥有会员资格的数据提供商可确保您完全控制它。您可以使用网站上的Asp.Net成员身份来管理用户/角色,登录/注销并将Shibboleth集成为外部身份验证服务。试着看看DotNetOpenAuth的工作原理。