我已经开始考虑在我们的项目中使用WIF 4.5来替换旧的安全行为。这是一个简单的表单身份验证登录页面,我们在其中验证数据库中的用户名/密码。这是我们的身份验证行为。
我在做ASP.NET应用程序。
现在有了WIF,我知道身份验证行为应该由外部STS(Azure或Active Directory)完成。但是我仍然希望在数据库中执行我自己的用户名/密码验证,但我不确定是否可以/应该使用WIF执行此操作。
以下是我的问题:
1)我应该制作自己的STS,还是使用其他方法? 2)我可以在配置文件中将身份验证保留为“表单”。或者我应该使用其他一些配置?
谢谢!
答案 0 :(得分:0)
是 - 您可以使用WIF执行此操作但不能使用仅针对AD进行身份验证的ADFS。
建议您查看Thinktecture.IdentityServer。
它是一个开源STS(因此您可以进行更改)并对SQL DB进行身份验证。
答案 1 :(得分:0)
1)是的,你应该拥有自己的sts或使用现有的sts。如果你是第一次这样做的话,那么写一个很难,但每次都很容易。我曾经写了一个详细的教程,它适用于wif 4,但应该很容易移植到wif 4.5。
http://www.wiktorzychla.com/2011/08/quest-for-customizing-adfs-sign-in-web.html
2)是的,您可以对sts和您的应用程序使用表单身份验证,但是,由于表单存在许多细微问题,因此建议使用SessionAuthenticationModule来维护用户会话。
http://www.wiktorzychla.com/2011/08/quest-for-customizing-adfs-sign-ing-web.html
http://www.wiktorzychla.com/2012/09/forms-authentication-revisited.html
如果您依赖于通用身份验证和授权机制(Web表单授权,mvc授权过滤器),则切换到SAM通常不会涉及应用程序中的其他更改。