我能够使用以下方法获取用户名:
@Autowired
private HttpServletRequest request;
Principal user = request.getUserPrincipal();
mqMessage.setUserName(user.getName());
Run Code Online (Sandbox Code Playgroud)
但我想获得登录用户的名字和姓氏。我怎样才能得到 ff。userinfo 使用 SpringBoot keycloak 适配器?
spring-mvc spring-security spring-boot keycloak keycloak-services
我需要你的帮助才能找出我的错误.我正在使用springboot(后端)x Angularjs(前端).尝试加载localhost:8080时,我得到一个GET(angular.js)文件net :: ERR_ABORTED.我的角度文件也没有发现任何错误.所以这是我的代码:
//for the springcontroller
@RestController
public class EmployeeController {
@Autowired
EmployeeService es;
@RequestMapping(method=RequestMethod.GET,value="/employees")
public List<Employee> getAllEmployees(){
return es.getAllEmployees();
}
@RequestMapping(method=RequestMethod.GET,value="/employees/{name}")
public Employee getEmployee(@PathVariable String name){
return es.getEmployee(name);
}
@RequestMapping(method=RequestMethod.POST,value="/employees")
public void addEmployee(@RequestBody Employee emp){
es.addEmployee(emp);
}
@RequestMapping(method=RequestMethod.PUT,value="/employees/{name}")
public void updateEmployee(@RequestBody Employee emp,@PathVariable String name){
es.updateEmployee(emp,name);
}
@RequestMapping(method=RequestMethod.DELETE,value="/employees/{name}")
public void deleteEmployee(@PathVariable String name){
es.deleteEmployee(name);
}
}
Run Code Online (Sandbox Code Playgroud)
对于我的app.js:
(function(){
'use strict';
var app = angular.module('myApp',['ngRoute','myApp.controller']);
app.config(function($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'index.html',
controller: 'HomeController'
});
});
})();
Run Code Online (Sandbox Code Playgroud)
对于我的HomeController.js
var …Run Code Online (Sandbox Code Playgroud) 当管理员在 keycloak UI 中创建或删除用户时,我有以下代码会被执行。通过 adminEvent 的帮助:http ://www.keycloak.org/docs/3.0/server_admin/topics/events/admin.html 创建用户通过 adminEvent.getRepresentation() 返回用户详细信息。但是,当删除用户时返回一个空值。
这在删除角色、删除组或删除 user_session 时也是一样的。 (ResourceTypes)
我的问题是如何检索已删除的详细信息?
import org.keycloak.events.admin.AdminEvent;
import org.keycloak.models.UserModel;
public void handleResourceOperation(AdminEvent adminEvent, UserModel user) {
MQMessage queueMessage = new MQMessage();
queueMessage.setIpAddress(adminEvent.getAuthDetails().getIpAddress());
queueMessage.setUsername(user.getUsername());
switch (adminEvent.getOperationType()) {
case CREATE:
LOGGER.info("OPERATION : CREATE USER");
LOGGER.info("USER Representation : " + adminEvent.getRepresentation());
String[] split = adminEvent.getRepresentation().split(",");
queueMessage.setTransactionDetail("Created user " + split[0].substring(12));
sendQueueMessage(adminEvent, queueMessage);
break;
case DELETE:
LOGGER.info("OPERATION : DELETE USER");
LOGGER.info("USER Representation : " + adminEvent.getRepresentation());
queueMessage.setTransactionDetail("User has been deleted.");
sendQueueMessage(adminEvent, queueMessage);
break; …Run Code Online (Sandbox Code Playgroud) ^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,15}$
上面我的正则表达式工作正常,除了它接受空格作为输入.我怎样才能在我的正则表达式中排除空格?
任何与Perl相关的正则表达式都可以.谢谢
java ×3
keycloak ×2
spring-boot ×2
spring-mvc ×2
angularjs ×1
passwords ×1
perl ×1
redhat ×1
regex ×1
spring ×1