在没有实体框架的情况下在.Net中以Identity 2种子管理帐户

问题描述:

我在这里寻找建议。我在我的应用程序中设置了Identity 2。在Dev中,我们使用实体框架,但在我们的测试环境中,由于DBA策略,我们使用SQL脚本更新数据库。在没有实体框架的情况下在.Net中以Identity 2种子管理帐户

我首先需要在管理员用户第一次运行应用程序时种下管理员用户,以便他们可以添加新用户。访问应用程序需要被控制。在开发中,我们使用种子方法。

对于我们的测试环境,我需要能够为用户创建种子,但是由于密码是以加密格式保存到数据库的,我不太清楚如何处理这个问题。根据我的理解,Identity 2每次应用程序第一次运行时都会生成一个种子,并且此种子用于加密密码。

有没有人有这个好的解决方案?

你有没有考虑过使用Global.asax.cs的Application_Start方法?您可以创建自己的方法,并在Application_Start()上调用它来检查数据库中是否存在某个用户,如果没有,请创建您想要的角色和用户。

+0

叶我曾试过,它的工作。尽管如此,我不确定我是否对此感到满意。对我来说,这似乎是一种骇人听闻,如果它被认为是最好的/好的做法,我可能是错的,但我会对它感到满意。 –

+0

好的做法是使用种子方法,onmodelcreate,onmodelchange等,但由于你有一些你必须尊重的策略,这是想到的唯一方法。 – Spike