如何在 Wildfly 14 中禁用 JBOSS-LOCAL-USER SASL 机制

问题描述

如何在 Wildfly 14 客户端中禁用 JBOSS-LOCAL-USER SASL 身份验证机制。我在 jboss-ejb-client.properties 中设置了以下属性remote.connection.default.connect.options.org.xnio.Options.SASL_disALLOWED_MECHANISMS=JBOSS-LOCAL-USER

不过,我可以看到客户端选择了 JBOSS-LOCAL-USER 机制,由于客户端和服务器驻留在不同的主机上而失败。

解决方法

您可以删除用于本地身份验证的服务器配置。对于独立版本,您需要执行以下 CLI 命令。

/core-service=management/security-realm=ApplicationRealm/authentication=local:remove

这会从 ApplicationRealm 中删除本地身份验证质询,#!/usr/bin/env python # -*- coding: utf-8 -*- from kivy.app import App from kivy.config import Config from kivy.clock import * Config.set('graphics','width','480') Config.set('graphics','height','800') Config.set('kivy','keyboard_mode','dock') from kivy.uix.screenmanager import * from kivy.uix.button import * from kivy.uix.label import * from kivy.clock import * pinList = [11,13,15,19,21,23,29,31,33,35,37,38,36,32,26,24] drink_list = {'Rum & Pepsi': {'ingredients': {'Rum': 50,'Pepsi': 100}},'Cherry Pepsi': {'ingredients': {'Cherry syrup': 40,'Pepsi': 150}},'Lemon Pepsi': {'ingredients': {'Lemon Syrup': 10,'Pepsi': 113}}} test_list = { 'Pump 1': {'Pin': [11],'Ingredient': ['Pepsi'],'Pumptime': [0.15],'Enabled': [True]},'Pump 2': {'Pin': [13],'Ingredient': ['Rum'],'Pump 3': {'Pin': [15],'Ingredient': ['Cherry syrup'],'Pump 4': {'Pin': [19],'Ingredient': ['Lemon syrup'],'Pump 5': {'Pin': [21],'Ingredient': ['Unused'],'Pump 6': {'Pin': [23],'Pump 7': {'Pin': [29],'Pump 8': {'Pin': [31],'Pump 9': {'Pin': [33],'Pump 10': {'Pin': [35],'Pump 11': {'Pin': [37],'Pump 12': {'Pin': [38],'Pump 13': {'Pin': [36],'Pump 14': {'Pin': [32],'Pump 15': {'Pin': [26],'Pump 16': {'Pin': [24],'Enabled': [True]} } class HomeScreen(Screen): @mainthread def on_enter(self): # add drink buttons (only if needed pumps are enabled) for drink in drink_list: ingredients_needed = [*(drink_list[drink]['ingredients'])] for x in ingredients_needed: for pump in test_list.keys(): if x in test_list[pump]['Ingredient'] and test_list[pump]['Enabled'] == [True]: print('yes') button = Button(text=drink,size_hint=(None,None)) self.ids.grid1.add_widget(button) else: pass # add settings button button = Button(text='Settings Page',None)) button.bind(on_press=self.go_first_screen) self.ids.grid1.add_widget(button) def go_first_screen(self,event): self.manager.current = 'settings_screen' class SettingsScreen(Screen): @mainthread def on_enter(self): # Drink Manager Tab for drink in drink_list: drink_buttons = Button(text=str(drink),None)) self.ids.grid.add_widget(drink_buttons) btn = Button(text='Change Screen',None)) self.ids.grid.add_widget(btn) # Pump Assignment Tab for pump in test_list: pump_buttons = Button(text=str(pump) + ' - \n ' + str(*test_list[pump]['Ingredient']),None)) self.ids.pump_grid.add_widget(pump_buttons) def on_leave(self,*args): self.ids.grid.clear_widgets() class Test(App): pass Test().run() 是应用程序的默认领域。