diff options
author | Rob Smart | 2009-09-16 13:34:14 +0100 |
---|---|---|
committer | Diva Canto | 2009-09-16 10:04:07 -0700 |
commit | 281ad1251ced13931ddbf99671841ef87db6ec0a (patch) | |
tree | aed4bf91859eb5722e93bb795774f59003129c30 /OpenSim/Region | |
parent | Database interface tot the new region store (diff) | |
download | opensim-SC_OLD-281ad1251ced13931ddbf99671841ef87db6ec0a.zip opensim-SC_OLD-281ad1251ced13931ddbf99671841ef87db6ec0a.tar.gz opensim-SC_OLD-281ad1251ced13931ddbf99671841ef87db6ec0a.tar.bz2 opensim-SC_OLD-281ad1251ced13931ddbf99671841ef87db6ec0a.tar.xz |
updated the IAuthorizationService interface so that a message is passed back and can be displayed at the client when an avatar is denied access to a region
Diffstat (limited to 'OpenSim/Region')
3 files changed, 7 insertions, 5 deletions
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Authorization/LocalAuthorizationServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Authorization/LocalAuthorizationServiceConnector.cs index c52c257..e69613a 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Authorization/LocalAuthorizationServiceConnector.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Authorization/LocalAuthorizationServiceConnector.cs | |||
@@ -132,9 +132,9 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Authorization | |||
132 | 132 | ||
133 | } | 133 | } |
134 | 134 | ||
135 | public bool IsAuthorizedForRegion(string userID, string regionID) | 135 | public bool IsAuthorizedForRegion(string userID, string regionID, out string message) |
136 | { | 136 | { |
137 | return m_AuthorizationService.IsAuthorizedForRegion(userID, regionID); | 137 | return m_AuthorizationService.IsAuthorizedForRegion(userID, regionID, out message); |
138 | } | 138 | } |
139 | 139 | ||
140 | } | 140 | } |
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Authorization/RemoteAuthorizationServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Authorization/RemoteAuthorizationServiceConnector.cs index 9241851..a672f4f 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Authorization/RemoteAuthorizationServiceConnector.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Authorization/RemoteAuthorizationServiceConnector.cs | |||
@@ -117,11 +117,12 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Authorization | |||
117 | 117 | ||
118 | } | 118 | } |
119 | 119 | ||
120 | public bool IsAuthorizedForRegion(string userID, string regionID) | 120 | public bool IsAuthorizedForRegion(string userID, string regionID, out string message) |
121 | { | 121 | { |
122 | m_log.InfoFormat("[REMOTE AUTHORIZATION CONNECTOR]: IsAuthorizedForRegion checking {0} for region {1}", userID, regionID); | 122 | m_log.InfoFormat("[REMOTE AUTHORIZATION CONNECTOR]: IsAuthorizedForRegion checking {0} for region {1}", userID, regionID); |
123 | 123 | ||
124 | bool isAuthorized = true; | 124 | bool isAuthorized = true; |
125 | message = String.Empty; | ||
125 | 126 | ||
126 | // get the scene this call is being made for | 127 | // get the scene this call is being made for |
127 | Scene scene = null; | 128 | Scene scene = null; |
@@ -140,7 +141,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Authorization | |||
140 | { | 141 | { |
141 | UserProfileData profile = scene.CommsManager.UserService.GetUserProfile(new UUID(userID)); | 142 | UserProfileData profile = scene.CommsManager.UserService.GetUserProfile(new UUID(userID)); |
142 | isAuthorized = IsAuthorizedForRegion(userID, profile.FirstName, profile.SurName, | 143 | isAuthorized = IsAuthorizedForRegion(userID, profile.FirstName, profile.SurName, |
143 | profile.Email, scene.RegionInfo.RegionName, regionID); | 144 | profile.Email, scene.RegionInfo.RegionName, regionID, out message); |
144 | } | 145 | } |
145 | else | 146 | else |
146 | { | 147 | { |
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 0c2f991..80f3e4d 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -3253,10 +3253,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
3253 | 3253 | ||
3254 | if (AuthorizationService != null) | 3254 | if (AuthorizationService != null) |
3255 | { | 3255 | { |
3256 | if (!AuthorizationService.IsAuthorizedForRegion(agent.AgentID.ToString(), RegionInfo.RegionID.ToString())) | 3256 | if (!AuthorizationService.IsAuthorizedForRegion(agent.AgentID.ToString(), RegionInfo.RegionID.ToString(),out reason)) |
3257 | { | 3257 | { |
3258 | m_log.WarnFormat("[CONNECTION BEGIN]: Denied access to: {0} ({1} {2}) at {3} because the user does not have access to the region", | 3258 | m_log.WarnFormat("[CONNECTION BEGIN]: Denied access to: {0} ({1} {2}) at {3} because the user does not have access to the region", |
3259 | agent.AgentID, agent.firstname, agent.lastname, RegionInfo.RegionName); | 3259 | agent.AgentID, agent.firstname, agent.lastname, RegionInfo.RegionName); |
3260 | //reason = String.Format("You are not currently on the access list for {0}",RegionInfo.RegionName); | ||
3260 | return false; | 3261 | return false; |
3261 | } | 3262 | } |
3262 | } | 3263 | } |