我正在为几所大学构建ASP.NET WCF Restful Service。该服务允许学生进行身份验证,因此我将在每个学院利用某种中央身份验证。例如,一所大学可能需要通过Open LDAP进行身份验证,而另一所大学可能需要Active Directory身份验证。
我需要能够轻松地将代码拖放到我的项目中以更改身份验证类型(Open LDAP,Active Directory等)。
我的解决方案是创建一个接口并在我的自定义身份验证类中实现它。我将已编译的身份验证类放入我的bin文件夹,并将一个键值条目添加到web.config文件中,该文件指定程序集名称和类名。当用户Authenticates I将通过反射创建类并使用接口方法来验证用户。
上述方法是处理自定义身份验证的好方法吗?有没有人用不同的方法解决这个问题?
感谢您的时间。
维克多
答案 0 :(得分:0)
您可以使用ASP.NET provider model或使用MEF查看目录和程序集以发现接口的实现。这样您就不必自己编写反射代码,并且它将在应用程序初始化时正确加载,而不是在每次身份验证尝试时创建它。
答案 1 :(得分:0)
我认为您可以开发自定义服务行为,并且在该行为中您可以定义自定义身份验证方式。 此链接(http://www.codeproject.com/KB/WCF/Custom_Authorization_WCF.aspx)可以为您提供帮助。