예제 #1
0
파일: Credential.cs 프로젝트: mind0n/hive
		public static Credential CreateInstance(string uid, Cache cache)
		{
			if (cache != null && !cache.Exists(uid))
			{
				Credential c = new Credential(uid, cache);
				cache.Insert(uid, c, null, DateTime.MaxValue, DefaultDuration);
				return c;
			}
			else
			{
				return cache[uid] as Credential;
			}
		}
예제 #2
0
파일: JoyPage.cs 프로젝트: mind0n/hive
		private void ValidateRequest()
		{
			credential = Credential.CreateInstance(NewId(clientCredential.Uid), Cache);
			if (vmode != ValidationMode.None)
			{
				if (!credential.Validate(clientCredential))
				{
					credential = Credential.CreateInstance(NewId(), Cache);
				}
				if (OnAuthenticate != null)
				{
					OnAuthenticate();
				}
				GeneratePassword();
			}
			else
			{
				credential.Validate(clientCredential, false);
				GeneratePassword(false);
			}
			credential.GeneratePid(clientCredential, vmode != ValidationMode.None);
			clientCredential.ClientPassword = credential.ServerPassword;
			clientCredential.Page = PageId;
			clientCredential.Uid = credential.ClientUid;
			Cookie(KeyClientCacheJson, HttpUtility.UrlEncode(clientCredential.ToJson()));
			Cookie(KeyClientCache, HttpUtility.UrlEncode(clientCredential.ToXml()));
		}