设置.net登录页面有多困难/耗时?

时间:2009-03-18 16:58:26

标签: .net login forms-authentication single-sign-on

我们正在开发一种SSO解决方案,允许用户通过.net登录,最后到达PHP应用程序。我正在开发PHP端,经过大量工作后,我已经解码,解析并以其他方式完成了.net设置的cookie,其中包含用户名和票证到期日期。

至少我我有。我现在的困难是.net开发人员现在忙于设置生成这些cookie的测试登录页面,所以我可以真正测试。我想知道设置此测试页应该花多长时间。我的感觉是它不应该花很长时间,但我从来没有做过。 (天堂禁止我像客户一样告诉开发人员“它应该只需要一个小时左右。”)

我只是想知道我应该合理地期待什么。简单登录,创建一个formauth票证,并将登录用户发送到我的测试页面。 FWIW,他们已经为当前正在使用的.net应用设置了任意数量的登录页面。

编辑:澄清一下,我不会实现这一点。我想知道.net开发人员应该花多长时间。

5 个答案:

答案 0 :(得分:4)

Here是ASP.NET中Forms身份验证的配置端的演练。如果您可以编写双文本框页面和Web表单上的按钮,那么您可以完成剩下的工作。如果你从不做任何ASP.NET,我会预算两个小时。

答案 1 :(得分:3)

如果您使用了ASP.NET Membership Provider,它几​​乎可以为您完成所有工作(包括登录表单本身)。

答案 2 :(得分:3)

如果您的所有内容都是创建表单身份验证票证,那么这一行代码将执行此操作:

FormsAuthentication.SetAuthCookie("Username", False)

第二个参数表示您希望cookie是永久性的。

如果您正在寻找量化您的asp.net开发人员实施您所描述的登录页面所需的工作量,那么答案应该不到15分钟。

答案 3 :(得分:2)

如果您没有登录数据库,可以使用内置的sql提供程序,以下是配置它的方式:http://msdn.microsoft.com/en-us/library/6e9y4s5t.aspx

如果您有数据,则可以实现custom membership provider并仅实现ValidateUser方法。您可以使用NotImplementedException保留其余部分,并在需要时实现更多功能:

public override bool ValidateUser(string username, string password)
{
   //return true or false;
}

即使您不使用它具有最终实现,您也可以将其用作快速方法。您可以根据需要扩展大多数其他部分,并且您使用PHP创建的唯一依赖项是使用身份验证票证,其中任何一个使用(也可直接使用FormsAuthentication)。

对于最终实现,您希望确保密码得到正确保护,即在保存到数据库时进行哈希处理。使用内置提供程序,您可以自动完成它。对于您的自定义代码,有一些简单的类可以帮助您。

更新1: 提供像它真的很难的时间估计。每个项目,开发人员等的时间差别很大。也就是说,走会员路线,它是合理的,它只需要几个小时,测试它当然是有效的(如果去自定义提供商路线,这假设数据库已经到位,你有一些东西使登录简单)。如果你要设置它只是为了测试它如何与PHP集成,我会去内置提供程序,只需运行sql脚本来创建数据库,设置配置,添加登录页面/控件,测试它和你在这种情况下说一个小时就好了。现在,这是一种自动模式,只是一种方法。

答案 4 :(得分:1)

基于ASP.NET Forms的身份验证非常容易上手,您可以在tutorial网站上找到ASP.NET QuickStart Tutorials。您想查看Forms-based Authentication上的部分。如果您需要更复杂的解决方案,请查看Membership and Role Manager