Inhaltsverzeichnis
1. Authentifizierung " >1. Authentifizierung
2. Autorisierung " >2. Autorisierung
3. Definieren Sie das Sicherheits-Plug-in selbst " > 3. Definieren Sie das Sicherheits-Plug-in selbst
Heim Java javaLernprogramm Detaillierte Erläuterung des Sicherheitsmechanismus von JMS Active MQ

Detaillierte Erläuterung des Sicherheitsmechanismus von JMS Active MQ

Jun 26, 2017 am 11:44 AM
active 安全 机制

1. Authentifizierung

Authentifizierung: Überprüfen Sie, ob eine Entität oder ein Benutzer berechtigt ist, auf geschützte Ressourcen zuzugreifen.

MQ bietet zwei Plug-ins für die Autoritätsauthentifizierung:
(1), einfaches Authentifizierungs-Plug-in: Konfigurieren Sie die relevanten Autoritätsauthentifizierungsinformationen direkt in XML Datei.

Konfigurieren Sie das Broker-Element von conf/activemq.xml, um ein Plug-in hinzuzufügen:

        <plugins><simpleAuthenticationPlugin><users><authenticationUser username="admin" password="password" groups="admins,publishers,consumers"/><authenticationUser username="publisher" password="password"  groups="publishers,consumers"/><authenticationUser username="consumer" password="password" groups="consumers"/><authenticationUser username="guest" password="password"  groups="guests"/></users></simpleAuthenticationPlugin></plugins>
Nach dem Login kopieren

Der Code enthält zwei Authentifizierungsmethoden:

1. Authentifizierung beim Erstellen einer Verbindung

//用户认证Connection conn = connFactory.createConnection("admin","password");
Nach dem Login kopieren

2. Sie können sich auch beim Erstellen einer ConnectionFactory-Factory authentifizieren

ConnectionFactory connFactory = new ActiveMQConnectionFactory("admin","password",url);
Nach dem Login kopieren

(2) JAAS-Authentifizierungs-Plug-in: implementiert die JAAS-API und bietet ein leistungsfähigeres und anpassbareres Berechtigungsschema.

Konfigurationsmethode:

1. Erstellen Sie die Datei login.config im Verzeichnis conf. Benutzerkonfiguration:

activemq-domain {
    org.apache.activemq.jaas.PropertiesLoginModule required debug=trueorg.apache.activemq.jaas.properties.user="users.properties"org.apache.activemq.jaas.properties.group="groups.properties";
};
Nach dem Login kopieren

das conf-Verzeichnis. Erstellen Sie die Datei „users.properties“ im Benutzerkonfigurationsbenutzer:

# 创建四个用户
admin=password  
publisher=password 
consumer=password  
guest=password
Nach dem Login kopieren

3. Erstellen Sie die Datei „groups.properties“ im Verzeichnis „conf“, um die Benutzergruppe zu konfigurieren:

#创建四个组并分配用户
admins=admin
publishers=admin,publisher
consumers=admin,publisher,consumer
guests=guest
Nach dem Login kopieren

4. Fügen Sie die Konfiguration in activemq.xml ein:

<!-- JAAS authentication plug-in --><plugins><jaasAuthenticationPlugin configuration="activemq-domain" /></plugins>
Nach dem Login kopieren

5. Konfigurieren Sie die Startparameter von MQ:

Verwenden Sie den DOS-Befehl. Start:

D:\tools\apache-activemq-5.6.0-bin\apache-activemq-5.6.0\bin\win64>activemq.bat -Djava.security.auth.login.config=D:/tools/apache-activemq-5.6.0-bin/apache-activemq-5.6.0/conf/login.config
Nach dem Login kopieren

6. Die Authentifizierungsmethode im Code ist dieselbe wie beim Plug-in für einfache Authentifizierung.

2. Autorisierung

Basierend auf der Authentifizierung können entsprechende Berechtigungen basierend auf tatsächlichen Benutzerrollen erteilt werden. Beispielsweise verfügen einige Benutzer über Warteschlangenschreibvorgänge Berechtigungen, einige können nur lesen usw.
Zwei Autorisierungsmethoden
(1) Autorisierung auf Zielebene

Drei Betriebsebenen des JMS-Ziels:
Lesen: Berechtigung zum Lesen von Zielnachrichten
Schreiben: Berechtigung zum Senden von Nachrichten an das Ziel
Admin: Berechtigung zum Verwalten von Zielen

Konfigurationsmethode conf/activemq.xml:

<plugins><jaasAuthenticationPlugin configuration="activemq-domain" /><authorizationPlugin><map><authorizationMap><authorizationEntries><authorizationEntry topic="topic.ch09" read="consumers" write="publishers" admin="publishers" /></authorizationEntries></authorizationMap></map></authorizationPlugin></plugins>
Nach dem Login kopieren

(2) Autorisierung auf Nachrichtenebene

Autorisieren Sie bestimmte Nachrichten.

Entwicklungsschritte:
1. Um das Nachrichtenautorisierungs-Plug-in zu implementieren, müssen Sie die MessageAuthorizationPolicy-Schnittstelle implementieren

public class AuthorizationPolicy implements MessageAuthorizationPolicy {private static final Log LOG = LogFactory.
        getLog(AuthorizationPolicy.class);public boolean isAllowedToConsume(ConnectionContext context,
        Message message) {
        LOG.info(context.getConnection().getRemoteAddress());
        String remoteAddress = context.getConnection().getRemoteAddress();if (remoteAddress.startsWith("/127.0.0.1")) {
            LOG.info("Permission to consume granted");return true;
        } else {
        LOG.info("Permission to consume denied");return false;
    }
    }
}
Nach dem Login kopieren

2 -in-Implementierungsklasse in ein JAR-Paket einfügen und in das lib-Verzeichnis von activeMq einfügen

3. Legen Sie das -Element in activemq.xml fest

<messageAuthorizationPolicy><bean class="org.apache.activemq.book.ch6.AuthorizationPolicy" xmlns="http://www.springframework.org/schema/beans" /></messageAuthorizationPolicy>
Nach dem Login kopieren

3. Definieren Sie das Sicherheits-Plug-in selbst

Die Plug-in-Logik muss die BrokerFilter-Klasse implementieren und zum Abfangen über die BrokerPlugin-Implementierungsklasse installieren und Operationen auf Broker-Ebene:

  • Konsumenten und Produzenten verbinden

  • Transaktionen festschreiben

  • Hinzufügen und Broker-Verbindungen löschen

Demo: Broker-Verbindungen basierend auf der IP-Adresse einschränken.

package ch02.ptp;import java.util.List;import org.apache.activemq.broker.Broker;import org.apache.activemq.broker.BrokerFilter;import org.apache.activemq.broker.ConnectionContext;import org.apache.activemq.command.ConnectionInfo;public class IPAuthenticationBroker extends BrokerFilter {
    List<String> allowedIPAddresses;public IPAuthenticationBroker(Broker next, List<String>allowedIPAddresses) {super(next);this.allowedIPAddresses = allowedIPAddresses;
    }public void addConnection(ConnectionContext context, ConnectionInfo info) throws Exception {
        String remoteAddress = context.getConnection().getRemoteAddress();if (!allowedIPAddresses.contains(remoteAddress)) {throw new SecurityException("Connecting from IP address "
            + remoteAddress+ " is not allowed" );
        }super.addConnection(context, info);
    }
}
Nach dem Login kopieren

Installieren Sie das Plug-in:

package ch02.ptp;import java.util.List;import org.apache.activemq.broker.Broker;import org.apache.activemq.broker.BrokerPlugin;public class IPAuthenticationPlugin implements BrokerPlugin {
    List<String> allowedIPAddresses;public Broker installPlugin(Broker broker) throws Exception {return new IPAuthenticationBroker(broker, allowedIPAddresses);
    }public List<String> getAllowedIPAddresses() {return allowedIPAddresses;
    }public void setAllowedIPAddresses(List<String> allowedIPAddresses) {this.allowedIPAddresses = allowedIPAddresses;
    }
}
Nach dem Login kopieren

ps: Packen Sie diese Klasse in ein JAR-Paket und legen Sie es in das lib-Verzeichnis von activemq Konfigurieren Sie benutzerdefinierte Plug-Ins unter

:

<plugins><bean xmlns="http://www.springframework.org/schema/beans" id="ipAuthenticationPlugin"   class="org.apache.activemq.book.ch6.IPAuthenticationPlugin"><property name="allowedIPAddresses"><list>  <value>127.0.0.1</value></list></property></bean></plugins>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des Sicherheitsmechanismus von JMS Active MQ. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Ausführliche Erklärung zum Deaktivieren des Windows 11-Sicherheitscenters Ausführliche Erklärung zum Deaktivieren des Windows 11-Sicherheitscenters Mar 27, 2024 pm 03:27 PM

Im Betriebssystem Windows 11 ist das Sicherheitscenter eine wichtige Funktion, die Benutzern hilft, den Sicherheitsstatus des Systems zu überwachen, sich gegen Malware zu verteidigen und die Privatsphäre zu schützen. Manchmal müssen Benutzer das Sicherheitscenter jedoch möglicherweise vorübergehend deaktivieren, beispielsweise wenn sie bestimmte Software installieren oder eine Systemoptimierung durchführen. In diesem Artikel erfahren Sie im Detail, wie Sie das Windows 11-Sicherheitscenter deaktivieren, damit Sie das System korrekt und sicher bedienen können. 1. So schalten Sie das Sicherheitscenter von Windows 11 aus Unter Windows 11 funktioniert das Ausschalten des Sicherheitscenters nicht

Ausführliche Erklärung zum Deaktivieren des Echtzeitschutzes im Windows-Sicherheitscenter Ausführliche Erklärung zum Deaktivieren des Echtzeitschutzes im Windows-Sicherheitscenter Mar 27, 2024 pm 02:30 PM

Als eines der Betriebssysteme mit der größten Benutzerzahl weltweit wurde das Windows-Betriebssystem schon immer von den Benutzern bevorzugt. Bei der Verwendung von Windows-Systemen können Benutzer jedoch mit zahlreichen Sicherheitsrisiken konfrontiert werden, wie z. B. Virenangriffen, Malware und anderen Bedrohungen. Um die Systemsicherheit zu stärken, verfügen Windows-Systeme über zahlreiche integrierte Sicherheitsschutzmechanismen, darunter die Echtzeitschutzfunktion des Windows Security Center. Heute stellen wir Ihnen im Detail vor, wie Sie den Echtzeitschutz im Windows-Sicherheitscenter deaktivieren. Lassen Sie uns zunächst einmal

Tipps zum Deaktivieren des Echtzeitschutzes im Windows-Sicherheitscenter Tipps zum Deaktivieren des Echtzeitschutzes im Windows-Sicherheitscenter Mar 27, 2024 pm 10:09 PM

In der heutigen digitalen Gesellschaft sind Computer zu einem unverzichtbaren Bestandteil unseres Lebens geworden. Als eines der beliebtesten Betriebssysteme ist Windows weltweit weit verbreitet. Da die Angriffsmethoden im Netzwerk jedoch immer weiter zunehmen, ist der Schutz der Sicherheit persönlicher Computer besonders wichtig geworden. Das Windows-Betriebssystem stellt eine Reihe von Sicherheitsfunktionen bereit, von denen das „Windows Security Center“ eine seiner wichtigen Komponenten ist. Bei Windows-Systemen kann uns das „Windows Security Center“ weiterhelfen

Wie sollte das Design der Sicherheitsarchitektur des Java-Frameworks mit den Geschäftsanforderungen in Einklang gebracht werden? Wie sollte das Design der Sicherheitsarchitektur des Java-Frameworks mit den Geschäftsanforderungen in Einklang gebracht werden? Jun 04, 2024 pm 02:53 PM

Das Java-Framework-Design ermöglicht Sicherheit, indem es Sicherheitsanforderungen mit Geschäftsanforderungen in Einklang bringt: Identifizierung wichtiger Geschäftsanforderungen und Priorisierung relevanter Sicherheitsanforderungen. Entwickeln Sie flexible Sicherheitsstrategien, reagieren Sie schichtweise auf Bedrohungen und nehmen Sie regelmäßige Anpassungen vor. Berücksichtigen Sie architektonische Flexibilität, unterstützen Sie die Geschäftsentwicklung und abstrakte Sicherheitsfunktionen. Priorisieren Sie Effizienz und Verfügbarkeit, optimieren Sie Sicherheitsmaßnahmen und erhöhen Sie die Sichtbarkeit.

PHP-Mikroframework: Sicherheitsdiskussion von Slim und Phalcon PHP-Mikroframework: Sicherheitsdiskussion von Slim und Phalcon Jun 04, 2024 am 09:28 AM

Im Sicherheitsvergleich zwischen Slim und Phalcon im PHP-Mikroframework verfügt Phalcon über integrierte Sicherheitsfunktionen wie CSRF- und XSS-Schutz, Formularvalidierung usw., während Slim keine sofort einsatzbereiten Sicherheitsfunktionen aufweist und eine manuelle Implementierung erfordert Sicherheitsmaßnahmen. Für sicherheitskritische Anwendungen bietet Phalcon einen umfassenderen Schutz und ist die bessere Wahl.

Sicherheitskonfiguration und Härtung des Struts 2-Frameworks Sicherheitskonfiguration und Härtung des Struts 2-Frameworks May 31, 2024 pm 10:53 PM

Um Ihre Struts2-Anwendung zu schützen, können Sie die folgenden Sicherheitskonfigurationen verwenden: Nicht verwendete Funktionen deaktivieren. Inhaltstypprüfung aktivieren. Eingaben validieren. Sicherheitstokens aktivieren. CSRF-Angriffe verhindern. Verwenden Sie RBAC, um den rollenbasierten Zugriff einzuschränken

Die neuen Weltherausforderungen der KI: Was ist mit Sicherheit und Datenschutz passiert? Die neuen Weltherausforderungen der KI: Was ist mit Sicherheit und Datenschutz passiert? Mar 31, 2024 pm 06:46 PM

Die rasante Entwicklung der generativen KI hat zu beispiellosen Herausforderungen in Bezug auf Datenschutz und Sicherheit geführt und dringende Forderungen nach regulatorischen Eingriffen ausgelöst. Letzte Woche hatte ich die Gelegenheit, mit einigen Kongressabgeordneten und ihren Mitarbeitern in Washington, D.C. über die sicherheitsrelevanten Auswirkungen von KI zu diskutieren. Die heutige generative KI erinnert mich an das Internet der späten 1980er Jahre, mit Grundlagenforschung, latentem Potenzial und akademischen Anwendungen, aber sie ist noch nicht reif für die Öffentlichkeit. Dieses Mal treibt der uneingeschränkte Ehrgeiz der Anbieter, angetrieben durch Risikokapital der unteren Liga und inspiriert durch Twitter-Echokammern, die „schöne neue Welt“ der KI rasant voran. Das „öffentliche“ Basismodell ist fehlerhaft und für den privaten und kommerziellen Gebrauch ungeeignet. Falls vorhanden, sind Sicherheitsstrukturen aufgrund der Angriffsfläche wichtig

See all articles