HGAuthenticationService must be a singleton, because it has in-memory state. This makes this singleton register with IScene, so that other parts can retrieve its reference.
parent
11c698af67
commit
53ba245967
|
@ -99,7 +99,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Authentication
|
|||
if (!m_Registered)
|
||||
{
|
||||
m_Registered = true;
|
||||
new HGAuthServiceInConnector(m_Config, MainServer.Instance);
|
||||
new HGAuthServiceInConnector(m_Config, MainServer.Instance, scene);
|
||||
|
||||
//Object[] args = new Object[] { m_Config, scene.CommsManager.HttpServer };
|
||||
//ServerUtils.LoadPlugin<IAuthenticationService>("OpenSim.Server.Handlers.dll:HGAuthServiceInConnector", args);
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
|
||||
using System;
|
||||
using Nini.Config;
|
||||
using OpenSim.Framework;
|
||||
using OpenSim.Server.Base;
|
||||
using OpenSim.Services.Interfaces;
|
||||
using OpenSim.Framework.Servers.HttpServer;
|
||||
|
@ -38,7 +39,7 @@ namespace OpenSim.Server.Handlers.Authentication
|
|||
{
|
||||
private IAuthenticationService m_AuthenticationService;
|
||||
|
||||
public HGAuthServiceInConnector(IConfigSource config, IHttpServer server) :
|
||||
public HGAuthServiceInConnector(IConfigSource config, IHttpServer server, IScene registry) :
|
||||
base(config, server)
|
||||
{
|
||||
IConfig serverConfig = config.Configs["AuthenticationService"];
|
||||
|
@ -53,6 +54,7 @@ namespace OpenSim.Server.Handlers.Authentication
|
|||
|
||||
Object[] args = new Object[] { config };
|
||||
m_AuthenticationService = ServerUtils.LoadPlugin<IAuthenticationService>(authenticationService, args);
|
||||
registry.RegisterModuleInterface<IAuthenticationService>(m_AuthenticationService);
|
||||
|
||||
HGAuthenticationHandlers m_handlers = new HGAuthenticationHandlers(m_AuthenticationService);
|
||||
server.AddXmlRPCHandler("hg_new_auth_key", m_handlers.GenerateKeyMethod);
|
||||
|
|
Loading…
Reference in New Issue