geode-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dbar...@apache.org
Subject [geode-native] 02/02: GEODE-6043: Improve User Guide Authentication example
Date Tue, 20 Nov 2018 01:31:51 GMT
This is an automated email from the ASF dual-hosted git repository.

dbarnes pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode-native.git

commit 7ac1573b433215596f48315e591e0cf9e866b114
Author: Dave Barnes <dbarnes@pivotal.io>
AuthorDate: Mon Nov 19 17:30:02 2018 -0800

    GEODE-6043: Improve User Guide Authentication example
---
 .../security/authentication.html.md.erb            | 122 ++++-----------------
 1 file changed, 20 insertions(+), 102 deletions(-)

diff --git a/docs/geode-native-docs/security/authentication.html.md.erb b/docs/geode-native-docs/security/authentication.html.md.erb
index faca71b..d12c4bc 100644
--- a/docs/geode-native-docs/security/authentication.html.md.erb
+++ b/docs/geode-native-docs/security/authentication.html.md.erb
@@ -19,13 +19,11 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
-A client is authenticated when it connects, with valid credentials, to a <%=vars.product_name%>
cache server that is configured with the client `Authenticator` callback.
+A client is authenticated when it connects with valid credentials to a <%=vars.product_name%>
cache server that is configured with the client `Authenticator` callback.
+For details on the server's role in authentication and what it expects from the client, see
[Implementing Authentication](geodeman/managing/security/implementing_authentication.html)
in the *<%=vars.product_name%> User Guide*.
 
 Examples of various implementations can be found in the Native Client source distribution's
`../templates/security` directory.
 
-An `AuthenticationRequiredException` is thrown when the server is configured with security
and the
-client does not present its credentials while attempting to connect.
-
 In your application, authentication credentials must be set when creating the cache. In practice,
 this means setting the authentication credentials when you create the CacheFactory.
 
@@ -36,66 +34,31 @@ In this C# authentication example, credentials are implemented in the
GetCredent
 
 
 ```cs
-using System;
-using Apache.Geode.Client;
-
-namespace Apache.Geode.Examples.AuthInitialize
-{
-  class Program
+  class ExampleAuthInitialize : IAuthInitialize
   {
-    class ExampleAuthInitialize : IAuthInitialize
+    public ExampleAuthInitialize()
     {
-	public ExampleAuthInitialize()
-	{
-	    // TODO initialize your resources here
-	    Console.Out.WriteLine("ExampleAuthInitialize::ExampleAuthInitialize called");
-	}
-
-	public void Close()
-	{
-	    // TODO close your resources here
-	    Console.Out.WriteLine("ExampleAuthInitialize::Close called");
-	}
-
-	public Properties<string, object> GetCredentials(Properties<string, string>
props, string server)
-	{
-	    // TODO get your username and password
-	    Console.Out.WriteLine("ExampleAuthInitialize::GetCredentials called");
-
-	    var credentials = new Properties<string, object>();
-	    credentials.Insert("username", "john");
-	    credentials.Insert("password", "secret");
-	    return credentials;
-	}
-      }
-
-    static void Main(string[] args)
-    {
-      var cacheFactory = new CacheFactory()
-          .Set("log-level", "none")
-          .SetAuthInitialize(new ExampleAuthInitialize());
-
-      var cache = cacheFactory.Create();
-      var poolFactory = cache.GetPoolFactory()
-          .AddLocator("localhost", 10334);
-      poolFactory.Create("pool");
-      var regionFactory = cache.CreateRegionFactory(RegionShortcut.PROXY)
-          .SetPoolName("pool");
-      var region = regionFactory.Create<string, string>("region");
-
-      region["a"] = "1";
-      region["b"] = "2";
+      // TODO initialize your resources here
+      Console.Out.WriteLine("ExampleAuthInitialize::ExampleAuthInitialize called");
+    }
 
-      var a = region["a"];
-      var b = region["b"];
+    public void Close()
+    {
+      // TODO close your resources here
+      Console.Out.WriteLine("ExampleAuthInitialize::Close called");
+    }
 
-      Console.Out.WriteLine("a = " + a);
-      Console.Out.WriteLine("b = " + b);
+    public Properties<string, object> GetCredentials(Properties<string, string>
props, string server)
+    {
+      // TODO get your username and password
+      Console.Out.WriteLine("ExampleAuthInitialize::GetCredentials called");
 
-      cache.Close();
+      var credentials = new Properties<string, object>();
+      credentials.Insert("security-username", "root");
+      credentials.Insert("security-password", "root");
+      return credentials;
     }
   }
-}
 
 ```
 
@@ -104,19 +67,6 @@ namespace Apache.Geode.Examples.AuthInitialize
 In this C++ authentication example, credentials are implemented in the getCredentials member
function of the AuthInitialize abstract class.
 
 ```cpp
-#include <iostream>
-
-#include <geode/CacheFactory.hpp>
-#include <geode/PoolManager.hpp>
-#include <geode/RegionFactory.hpp>
-#include <geode/RegionShortcut.hpp>
-#include <geode/AuthInitialize.hpp>
-
-using namespace apache::geode::client;
-
-constexpr auto SECURITY_USERNAME = "security-username";
-constexpr auto SECURITY_PASSWORD = "security-password";
-
 class UserPasswordAuthInit : public AuthInitialize {
 public:
   UserPasswordAuthInit() = default;
@@ -147,36 +97,4 @@ public:
   void close() override { return; }
 };
 
-int main(int argc, char** argv) {
-  auto config = Properties::create();
-  config->insert(SECURITY_USERNAME, "root");
-  config->insert(SECURITY_PASSWORD, "root");
-
-  auto cacheFactory = CacheFactory(config);
-  auto authInitialize = std::make_shared<UserPasswordAuthInit>();
-  cacheFactory.set("log-level", "none");
-  cacheFactory.setAuthInitialize(authInitialize);
-
-  auto cache = cacheFactory.create();
-  auto poolFactory = cache.getPoolManager().createFactory();
-
-  poolFactory.addLocator("localhost", 10334);
-  auto pool = poolFactory.create("pool");
-  auto regionFactory = cache.createRegionFactory(RegionShortcut::PROXY);
-  auto region = regionFactory.setPoolName("pool").create("example_userinfo");
-
-  region->put("rtimmons", "Robert Timmons");
-  region->put("scharles", "Sylvia Charles");
-
-  auto user1 = region->get("rtimmons");
-  auto user2 = region->get("scharles");
-  std::cout << "  rtimmons = "
-            << std::dynamic_pointer_cast<CacheableString>(user1)->value()
-            << std::endl;
-  std::cout << "  scharles = "
-            << std::dynamic_pointer_cast<CacheableString>(user2)->value()
-            << std::endl;
-
-  cache.close();
-}
 ```


Mime
View raw message