【发布时间】:2013-12-05 04:43:03
【问题描述】:
我正在使用 .NET MVC 5 应用程序。我不想使用实体框架。我想对 RavenDB 数据库进行身份验证。在我看来,我想替换帐户控制器附带的UserManager。我想我可以重写所有 UserManager 函数来使用我的数据库,除了我不理解 ClaimsIdentity 对象。
在SignInAsync 方法中,有一个对UserManager.CreateIdentityAsync(...) 的调用。我知道它返回一个ClaimsIdentity 对象。我不知道如何自己创建一个 ClaimsIdentity 对象。
我看到它有 4 个属性 Actor、BootstrapContext、Claims 和 Label。我不知道这些属性是做什么用的,也不知道如何正确生成它们。我认为正确生成它们很重要,因为它是身份验证 cookie 的制作方式。
我查看了 ClaimsIdentity 对象 here 的解释,但这并没有真正帮助我理解。
如果我能看到CreateIdentityAsync() 的代码,那可能会有所帮助。
如果我说这一切都错了,请告诉我。否则,如果有人能指出如何生成 ClaimsIdentity 对象,那将会很有帮助。
ClaimsIdentity identity = new ClaimsIdentity
{
Actor = ????,
BootstrapContext = ?????,
Claims = ?????,
Label = ?????
}
【问题讨论】:
标签: authentication ravendb asp.net-mvc-5 claims-based-identity katana