这里说的是我需要在java上设置Firebase:
FirebaseOptions options = new FirebaseOptions.Builder()
.setDatabaseUrl("https://databaseName.firebaseio.com")
.setServiceAccount(new FileInputStream("path/to/serviceAccountCredentials.json"))
.build();
FirebaseApp.initializeApp(options);
Run Code Online (Sandbox Code Playgroud)
但是我在哪里可以获得serviceAccountCredentials.json?
更新: 我发现这个文件似乎应该有这个字段,但是哪里得到这个值?
{
"type": "",
"project_id": "",
"private_key_id": "",
"private_key": "",
"client_email": "",
"client_id": "",
"auth_uri": "",
"token_uri": "",
"auth_provider_x509_cert_url": "",
"client_x509_cert_url": ""
}
Run Code Online (Sandbox Code Playgroud) java firebase firebase-authentication firebase-realtime-database
我正在尝试开发一个类库,我想在其中实现自定义DbContext.在SaveChanges方法中DbContext,我需要获取当前用户的信息(部门,用户名等)以供审计.DbContext代码的某些部分如下:
public override int SaveChanges()
{
// find all changed entities which is ICreateAuditedEntity
var addedAuditedEntities = ChangeTracker.Entries<ICreateAuditedEntity>()
.Where(p => p.State == EntityState.Added)
.Select(p => p.Entity);
var now = DateTime.Now;
foreach (var added in addedAuditedEntities)
{
added.CreatedAt = now;
added.CreatedBy = ?;
added.CreatedByDepartment = ?
}
return base.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)
想到两个选项:
HttpContext.Items保存用户信息,注入IHttpContextAccessor并从中获取信息
HttpContext.Items(在这种情况下DbContext取决于HttpContext,是否正确?)HttpContext.Items从对象获取信息(我读了一些ThreadStatic不安全的帖子)问题:哪种情况最适合我的情况?你有其他建议吗?