- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在我的应用程序中实现审核。到目前为止我已经成功地记录了审计表中的 Activity 和记录。问题是我无法实现用户。我研究了很多地方,我知道这很简单,也许我只是没有看到一些东西,此时你可以帮助我。我正在使用 Hibernate Envers 和修订实体类我正在使用 Spring boot。
这是我得到用户的类(class)
@RestController
public class LoginController {
@Autowired
UsuariosService uService;
@Autowired
PermissoesPaginasService ppService;
@Autowired
EntidadesAdministradoresService eaService;
@Autowired
UsuariosService usuariosService;
@RequestMapping(value = "/autenticar", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE, method = RequestMethod.POST)
public LoginResponse autenticar(@RequestBody Usuarios usuarios)
throws ServletException {
// verifica se foram digitados o login e senha no front end
if (usuarios.getLogin() == null
|| usuarios.getSenha() == null) {
throw new ServletException("Nome ou senha obrigatório");
}
// busca no banco de dados
Usuarios usuariosAutenticado = uService.buscarPorLogin(usuarios.getLogin());
if (usuariosAutenticado == null) {
return new LoginResponse("naoEncontrado");
}
// compara a senha vinda do banco de dados com a senha vinda da tela
if (!usuariosAutenticado.getSenha()
.equals(usuarios.getSenha())) {
return new LoginResponse("senhaInvalida");
}
String token = Jwts.builder().setSubject(usuariosAutenticado.getLogin())
.signWith(SignatureAlgorithm.HS512, "digi2fred")
.setExpiration(new Date(System.currentTimeMillis() + 60 * 60 * 1000)).compact();
return new LoginResponse(token);
}
private class LoginResponse {
public String token;
public LoginResponse(String token ) {
this.token = token;
}
public String getToken() {
return token;
}
}
}
我的类(class) UsuarioRevEntity
@Entity
@Table(name = "usuario_rev_entity", schema = "aud")
@RevisionEntity(UsuarioListener.class)
public class UsuarioRevEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@RevisionNumber
private int id;
@RevisionTimestamp
private long timestamp;
private String usuario;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public long getTimestamp() {
return timestamp;
}
public void setTimestamp(long timestamp) {
this.timestamp = timestamp;
}
public String getUsuario() {
return usuario;
}
public void setUsuario(String usuario) {
this.usuario = usuario;
}
}
和UsuarioListener
public class UsuarioListener implements RevisionListener {
public void newRevision(Object revisionEntity) {
UsuarioRevEntity usuarioRevEntity = (UsuarioRevEntity) revisionEntity;
// i guess that here i need to pass user log.
}
}
最佳答案
是的,这正是您必须设置要审核的用户信息的地方。此信息可以从 SecurityContextHolder
中提取,并且如何获取用户名
取决于您的显式实现。
public class UsuarioListener implements RevisionListener {
@Override
public void newRevision(Object revisionEntity) {
// Get username from SecurityContextHolder
// SecurityContextHolder.getContext().getAuthentication();
String usuario = ...
UsuarioRevEntity usuarioRevEntity = (UsuarioRevEntity) revisionEntity;
usuarioRevEntity.setUsuario(usuario);
}
}
关于java - 如何使用修订监听器在审核中设置用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47887908/
是否可以从被删除用户的角度审核从 Azure AD 中删除用户的情况?即,如果 John Doe 从 AAD 中删除,是否可以在目录中搜索 John Doe 名称的删除内容? 似乎可以看到 Jane
我已在 Azure SQL 数据库中启用 Azure 审核,审核正在捕获数据库中的所有事件并将其存储在存储帐户中。我的问题是,是否可以配置 Azure 审核并过滤审核中要捕获和不捕获的内容? 默认情况
我看到grails-audit插件提供了记录onCreate()onUpdate()事件的方式,但是我还需要跟踪onLoad()事件。 有没有使用任何插件的标准方法?还是我需要自己实施? 最佳答案 您
服务器,一个运行 Spring 2.5.6 的独立 SE 应用程序和一个嵌入式 jetty 。客户端、Swing 应用程序使用 HttpInvoker 连接到服务器。 服务器公开了很多服务,现在出现了
我已在 Azure SQL 数据库中启用 Azure 审核,审核正在捕获数据库中的所有事件并将其存储在存储帐户中。我的问题是,是否可以配置 Azure 审核并过滤审核中要捕获和不捕获的内容? 默认情况
我需要实现JPA软删除存储库并支持同时对多个列进行JPA审计。目前,我已经通过 EL 和 @Query+@Modifying 注释实现了软删除存储库: @Override @Modif
我的 iOS 应用程序需要来自 FB 的 publish_actions 权限,因此我已按照说明创建模拟器构建,提交应用程序以供 FB 审查 Create simulator build to sub
我有一个小型 Web 应用程序,其中有一些表,用户可以在其中发布和编辑数据。我还有一个应用程序管理员来管理新发布或编辑的数据。我想做的是审核每个表并仅在管理员批准后才显示数据。 应用程序流程是这样的:
我正在尝试将应用内购买添加到 iOS 应用程序中,该应用程序自 2010 年起就在 iOS 上可用。根据 Apple 的规定,我必须在提交应用程序更新的同时提交我的第一个应用程序内功能。问题是,在应用
我的 Facebook 应用程序未通过审核,唯一的反馈是“您的 Open Graph 故事未在任何配置的平台上发布。” 唯一配置的平台是 iOS。我上传了 iOS 应用程序的模拟器版本,并创建了一个测
由于这个严重问题,我的可访问性评级受到了伤害: Background and foreground colors do not have a sufficient contrast ratio. 失败
我正在点击我的 APK 上的评论,但我收到了这条消息: Unoptimized APK Warning: This APK results in unused code and resources b
我使用的是 OS X El Capitan 10.11 和 Xcode 6.4 6E35b,当我在 iTunesConnect 中单击提交审核按钮时,它显示此错误“提交到应用商店的应用和应用更新必须使
我正在考虑更改 SQL Server 2005 数据库的审核流程,并且在 SQL Server 2008 中遇到了变更数据捕获。 这看起来是个好主意,我很想尝试一下,但在此之前有人在商业环境中使用过它
有没有什么方法可以从 Azure Active Directory B2C 扩展审核日志,例如 Api(我知道 AAD 有自己的 API 用于此目的,但 B2C 似乎没有)? 到目前为止,我只能从 A
有没有什么方法可以从 Azure Active Directory B2C 扩展审核日志,例如 Api(我知道 AAD 有自己的 API 用于此目的,但 B2C 似乎没有)? 到目前为止,我只能从 A
我周六早上在 Apple 应用商店提交了我的应用更新,几个小时后我收到消息说你的应用正在审核中。它一直持续到现在星期五 25,6 天后仍在审核中。我检查了事件并我发现该应用程序处于测试版审查阶段。我还
当我在包含项目的 package.json 和 package-lock.json 的文件夹中执行 npmaudit 时,出现以下错误: 0 info it worked if it ends wit
我正在向 App Store 提交一个 iPhone 应用程序以供审核。但是,由于这个原因被拒绝了: We began the review of your app but are not able
我一直致力于应用程序审计,并成功连接了 Hibernate Envers 4.3.11 以捕获创建、更新和删除,但我找不到任何关于审计实体读取的文档。 这对 Envers 是否可行,还是最好依赖 lo
我是一名优秀的程序员,十分优秀!