当前位置: 首页>>代码示例>>C#>>正文


C# Cache.CreateAuthenticatedView方法代码示例

本文整理汇总了C#中Cache.CreateAuthenticatedView方法的典型用法代码示例。如果您正苦于以下问题:C# Cache.CreateAuthenticatedView方法的具体用法?C# Cache.CreateAuthenticatedView怎么用?C# Cache.CreateAuthenticatedView使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Cache的用法示例。


在下文中一共展示了Cache.CreateAuthenticatedView方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: runWithUserReader

        void runWithUserReader(Cache cache)
        {
            Console.WriteLine();
            Console.WriteLine("------------------------------------------------------------");
            Console.WriteLine("Logging in as reader1.  Has access to reads but not writes. ");
            Console.WriteLine("------------------------------------------------------------");

            //user "reader1" 's credential
            Properties<string, object> credentials = Properties<string, object>.Create<string, object>();
            //user = "reader1" has permission to do get ops only
            credentials.Insert("security-username", "reader1");
            credentials.Insert("security-password", "reader1");

            // Create user cache by passing credentials
            IRegionService userCache2 = cache.CreateAuthenticatedView(credentials);

            // Create region using usercache
            IRegion<string, string> userRegion2 = userCache2.GetRegion<string, string>("exampleRegion");

            bool exceptiongot = false;

            string res = userRegion2["key-1"];
            Console.WriteLine("get successful");

            try
            {
            //"reader1" trying to do put operation on region, it should get NotAuthorized exception
            Console.WriteLine();
            Console.WriteLine("attempting put. Should fail.");
            userRegion2["key-1"] = "key-1";
            }
            catch (NotAuthorizedException ex)
            {
            Console.WriteLine("Got expected UnAuthorizedException: {0}", ex.Message);
            exceptiongot = true;
            }

            if (exceptiongot == false)
            {
            Console.WriteLine("Example FAILED: Did not get expected NotAuthorizedException");
            }
            else
            {
            Console.WriteLine("User reader1 got expected exception while doing put operation.");
            }

            //close the user cache
            userCache2.Close();
        }
开发者ID:ioben,项目名称:gf81_workshop,代码行数:49,代码来源:MultiuserSecurity.cs

示例2: runWithUserRoot

        void runWithUserRoot(Cache cache)
        {
            Console.WriteLine("------------------------------------------------------------");
              Console.WriteLine("Logging in as root.  Should have access to reads and writes ");
              Console.WriteLine("------------------------------------------------------------");

              //user "root" 's credential
              Properties<string, object> credentials = Properties<string, object>.Create<string, object>();
              //user = "root" has permission to do put/get both
              credentials.Insert("security-username", "root");
              credentials.Insert("security-password", "root");

              // Create user cache by passing credentials
              IRegionService userCache1 = cache.CreateAuthenticatedView(credentials);

              Console.WriteLine("Created the Region Programmatically. 2");
              // Create region using usercache
              IRegion<string, string> userRegion1 = userCache1.GetRegion<string, string>("exampleRegion");

              //doing operation on behalf of user "root"
              userRegion1["key-1"] = "val-1";

              string result = userRegion1["key-1"];

              // commented 1/2015 for Morgan Stanley since they do not use functions
              //to execute function on server
            /*
              Execution<object> exc = FunctionService<object>.OnServer(userCache1);

              bool getResult = true;
              ArrayList args1 = new ArrayList();
              args1.Add("key-1");

              try
              {
              IResultCollector<object> rc = exc.WithArgs<ArrayList>(args1).Execute(
              getFuncIName, getResult);
              ICollection<object> executeFunctionResult = rc.GetResult();
              Console.WriteLine("on one server: result count= {0}.", executeFunctionResult.Count);

              List<object> resultList1 = new List<object>();
              foreach (List<object> item in executeFunctionResult)
              {
              foreach (object subitem in item)
              {
                  resultList1.Add(subitem);
              }
              }

              for (int i = 0; i < resultList1.Count; i++)
              {
              Console.WriteLine("on one server:get:result[{0}]={1}.", i, (string)resultList1[i]);
              }
              }
              catch (Exception e)
              {
              Console.WriteLine(e);
              }
             *
             * */

              //to execute Query

              // Get the QueryService from the Cache.
              QueryService<string, string> qrySvc = userCache1.GetQueryService<string, string>();

              Console.WriteLine("Got the QueryService from the user Cache");

              // Execute a Query which returns a ResultSet.
              Query<string> qry = qrySvc.NewQuery("SELECT DISTINCT * FROM /exampleRegion");
              ISelectResults<string> results = qry.Execute();

              Console.WriteLine("ResultSet Query returned {0} rows", results.Size);

              userCache1.Close();

              Console.WriteLine("User root done put/get ops successfully");
        }
开发者ID:ioben,项目名称:gf81_workshop,代码行数:78,代码来源:MultiuserSecurity.cs


注:本文中的Cache.CreateAuthenticatedView方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。