• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# Auth.UserAuth类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中ServiceStack.ServiceInterface.Auth.UserAuth的典型用法代码示例。如果您正苦于以下问题:C# UserAuth类的具体用法?C# UserAuth怎么用?C# UserAuth使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



UserAuth类属于ServiceStack.ServiceInterface.Auth命名空间,在下文中一共展示了UserAuth类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: UpdateUserAuth

		public UserAuth UpdateUserAuth(UserAuth existingUser, UserAuth newUser, string password)
		{
			ValidateNewUser(newUser, password);

			AssertNoExistingUser(newUser, existingUser);

			var hash = existingUser.PasswordHash;
			var salt = existingUser.Salt;
			if (password != null)
			{
				var saltedHash = new SaltedHash();
				saltedHash.GetHashAndSaltString(password, out hash, out salt);
			}
			// If either one changes the digest hash has to be recalculated
			var digestHash = existingUser.DigestHA1Hash;
			if (password != null || existingUser.UserName != newUser.UserName)
			{
				var digestHelper = new DigestAuthFunctions();
				digestHash = digestHelper.CreateHa1(newUser.UserName, DigestAuthProvider.Realm, password);
			}
			newUser.Id = existingUser.Id;
			newUser.PasswordHash = hash;
			newUser.Salt = salt;
			newUser.DigestHA1Hash = digestHash;
			newUser.CreatedDate = existingUser.CreatedDate;
			newUser.ModifiedDate = DateTime.UtcNow;

			using (var session = _documentStore.OpenSession())
			{
				session.Store(newUser);
				session.SaveChanges();
			}

			return newUser;
		}
开发者ID:sgraphics,项目名称:ServiceStack.Contrib,代码行数:35,代码来源:RavenUserAuthRepository.cs


示例2: FindByPasswordCredential

        private UserAuth FindByPasswordCredential(string login, string password)
        {
            UserAuth userAuth = null;
            using (new UnitOfWork())
            {
                var manager = this.container.Resolve<IUserManager>();
                var user = manager.FindByPasswordCredential(login, password);
                if (user != null)
                {
                    userAuth = new UserAuth
                        {
                            RefIdStr = user.Id.ToString(CultureInfo.InvariantCulture), 
                            UserName = login, 
                            Email = user.Email, 
                            DisplayName = user.Name, 
                            Roles = new List<string>(), 
                            Permissions = new List<string>(), 
                        };
                    if (user.Role != null)
                    {
                        userAuth.Roles.Add(user.Role.Name);
                        userAuth.Permissions.AddRange(from p in user.Role.Permissions select p.Name.ToString());
                    }
                }
            }

            return userAuth;
        }
开发者ID:rconnelly,项目名称:ach.fulfillment,代码行数:28,代码来源:ServiceStackCredentialsAuthAdapter.cs


示例3: CreateUserAuth

        public UserAuth CreateUserAuth(UserAuth newUser, string password)
        {
            newUser.ThrowIfNull("newUser");
            password.ThrowIfNullOrEmpty("password");

            if (newUser.UserName.IsNullOrEmpty() && newUser.Email.IsNullOrEmpty())
                throw new ArgumentNullException("UserName or Email is required");

            if (!newUser.UserName.IsNullOrEmpty())
            {
                if (!ValidUserNameRegEx.IsMatch(newUser.UserName))
                    throw new ArgumentException("UserName contains invalid characters", "UserName");
            }

            return dbFactory.Exec(dbCmd => {
                var effectiveUserName = newUser.UserName ?? newUser.Email;
                var existingUser = GetUserAuthByUserName(dbCmd, effectiveUserName);
                if (existingUser != null)
                    throw new ArgumentException("User {0} already exists".Fmt(effectiveUserName));

                var saltedHash = new SaltedHash();
                string salt;
                string hash;
                saltedHash.GetHashAndSaltString(password, out hash, out salt);

                newUser.PasswordHash = hash;
                newUser.Salt = salt;

                dbCmd.Insert(newUser);

                newUser = dbCmd.GetById<UserAuth>(dbCmd.GetLastInsertId());
                return newUser;
            });
        }
开发者ID:austinvernsonger,项目名称:ServiceStack,代码行数:34,代码来源:OrmLiteAuthRepository.cs


示例4: CreateUserAuth

		public UserAuth CreateUserAuth(UserAuth newUser, string password)
		{
			ValidateNewUser(newUser, password);

			AssertNoExistingUser(newUser);

			var saltedHash = new SaltedHash();
			string salt;
			string hash;
			saltedHash.GetHashAndSaltString(password, out hash, out salt);
			var digestHelper = new DigestAuthFunctions();
			newUser.DigestHA1Hash = digestHelper.CreateHa1(newUser.UserName, DigestAuthProvider.Realm, password);
			newUser.PasswordHash = hash;
			newUser.Salt = salt;
			newUser.CreatedDate = DateTime.UtcNow;
			newUser.ModifiedDate = newUser.CreatedDate;

			using (_session)
			{
				_session.Store(newUser);
				_session.SaveChanges();
			}

			return newUser;
		}
开发者ID:JackFong,项目名称:ServiceStack.Contrib,代码行数:25,代码来源:RavenUserAuthRepository.cs


示例5: ToPerson

        private static Person ToPerson(UserAuth auth)
        {
            if (auth == null)
            {
                return null;
            }

            var name = auth.FullName;
            if (string.IsNullOrEmpty(name))
            {
                if (!string.IsNullOrEmpty(auth.FirstName) || !string.IsNullOrEmpty(auth.LastName))
                {
                    name = auth.FirstName + " " + auth.LastName;
                }
                else
                {
                    name = auth.UserName;
                }
            }

            return new Person
            {
                Id = auth.Id,
                Name = name,

                CustomerId = auth.RefId,
                IsEmployee = auth.Roles.Contains(Global.Constants.EmployeeRoleName)
            };
        }
开发者ID:TheFailBoat,项目名称:IssueTracker,代码行数:29,代码来源:PersonRepository.cs


示例6: CreateUserAuth

        public virtual UserAuth CreateUserAuth(UserAuth newUser, string password)
        {
            ValidateNewUser(newUser, password);

            using (var redis = factory.GetClient())
            {
                AssertNoExistingUser(redis, newUser);

                var saltedHash = new SaltedHash();
                string salt;
                string hash;
                saltedHash.GetHashAndSaltString(password, out hash, out salt);

                newUser.Id = redis.As<UserAuth>().GetNextSequence();
                newUser.PasswordHash = hash;
                newUser.Salt = salt;
                var digestHelper = new DigestAuthFunctions();
                newUser.DigestHA1Hash = digestHelper.CreateHa1(newUser.UserName, DigestAuthProvider.Realm, password);
                newUser.CreatedDate = DateTime.UtcNow;
                newUser.ModifiedDate = newUser.CreatedDate;

                var userId = newUser.Id.ToString(CultureInfo.InvariantCulture);
                if (!newUser.UserName.IsNullOrEmpty())
                    redis.SetEntryInHash(IndexUserNameToUserId, newUser.UserName, userId);
                if (!newUser.Email.IsNullOrEmpty())
                    redis.SetEntryInHash(IndexEmailToUserId, newUser.Email, userId);

                redis.Store(newUser);

                return newUser;
            }
        }
开发者ID:grammarware,项目名称:fodder,代码行数:32,代码来源:src_ServiceStack_ServiceInterface_Auth_RedisAuthRepository.cs


示例7: LoadUserAuth

        private void LoadUserAuth(IAuthSession session, UserAuth userAuth)
        {
            if (userAuth == null) return;

            session.PopulateWith(userAuth);
            session.UserAuthId = userAuth.Id.ToString(CultureInfo.InvariantCulture);
            session.ProviderOAuthAccess = GetUserOAuthProviders(session.UserAuthId)
                .ConvertAll(x => (IOAuthTokens)x);
        }
开发者ID:JackFong,项目名称:ServiceStack.Contrib,代码行数:9,代码来源:NHibernateUserAuthRepository.cs


示例8: TryAuthenticate

 public bool TryAuthenticate(
     Dictionary<string, string> digestHeaders, 
     string privateKey, 
     int nonceTimeOut, 
     string sequence, 
     out UserAuth userAuth)
 {
     throw new NotSupportedException();
 }
开发者ID:rconnelly,项目名称:ach.fulfillment,代码行数:9,代码来源:CustomUserAuthRepository.cs


示例9: ValidateNewUserWithoutPassword

		private void ValidateNewUserWithoutPassword(UserAuth newUser)
		{
			newUser.ThrowIfNull("newUser");

			if (newUser.UserName.IsNullOrEmpty() && newUser.Email.IsNullOrEmpty())
				throw new ArgumentNullException("UserName or Email is required");

			if (!newUser.UserName.IsNullOrEmpty())
			{
				if (!ValidUserNameRegEx.IsMatch(newUser.UserName))
					throw new ArgumentException("UserName contains invalid characters", "UserName");
			}
		}
开发者ID:JackFong,项目名称:ServiceStack.Contrib,代码行数:13,代码来源:RavenUserAuthRepository.cs


示例10: AssertNoExistingUser

		private void AssertNoExistingUser(UserAuth newUser, UserAuth exceptForExistingUser = null)
		{
			if (newUser.UserName != null)
			{
				var existingUser = GetUserAuthByUserName(newUser.UserName);
				if (existingUser != null
					&& (exceptForExistingUser == null || existingUser.Id != exceptForExistingUser.Id))
					throw new ArgumentException("User {0} already exists".Fmt(newUser.UserName));
			}
			if (newUser.Email != null)
			{
				var existingUser = GetUserAuthByUserName(newUser.Email);
				if (existingUser != null
					&& (exceptForExistingUser == null || existingUser.Id != exceptForExistingUser.Id))
					throw new ArgumentException("Email {0} already exists".Fmt(newUser.Email));
			}
		}
开发者ID:Aaronaught,项目名称:ServiceStack.Contrib,代码行数:17,代码来源:RavenUserAuthRepository.cs


示例11: Register

        public ActionResult Register(RegisterModel model)
        {
            string hash;
            string salt;
            new SaltedHash().GetHashAndSaltString(model.Password, out hash, out salt);

            var user = new UserAuth
                {
                    DisplayName = model.UserName,
                    Email = model.Email,
                    UserName = model.UserName,
                    PasswordHash = hash,
                    Salt = salt
                };

            var response = UserAuthRepo.CreateUserAuth(user, model.Password);
            var authResponse = AuthService.Authenticate(new Auth {UserName = model.UserName, Password = model.Password, RememberMe = true});

            return RedirectToAction("Index", "Home");
        }
开发者ID:senseicz,项目名称:UniPhotogallery,代码行数:20,代码来源:AccountController.cs


示例12: CreateOrMergeAuthSession

        public string CreateOrMergeAuthSession(IOAuthSession oAuthSession, IOAuthTokens tokens)
        {
            using (var redis = factory.GetClient())
            {
                UserOAuthProvider oauthProvider = null;

                var oAuthProviderId = GetAuthProviderByUserId(redis, tokens.Provider, tokens.UserId);
                if (!oAuthProviderId.IsNullOrEmpty())
                    oauthProvider = redis.As<UserOAuthProvider>().GetById(oAuthProviderId);

                var userAuth = GetUserAuth(redis, oAuthSession, tokens);

                if (userAuth == null)
                {
                    userAuth = new UserAuth {
                        Id = redis.As<UserAuth>().GetNextSequence(),
                    };
                }

                if (oauthProvider == null)
                {
                    oauthProvider = new UserOAuthProvider {
                        Id = redis.As<UserOAuthProvider>().GetNextSequence(),
                        UserAuthId = userAuth.Id,
                        Provider = tokens.Provider,
                        UserId = tokens.UserId,
                    };
                    var idx = IndexProviderUserIdHash(tokens.Provider);
                    redis.SetEntryInHash(idx, tokens.UserId, oauthProvider.Id.ToString());
                }

                oauthProvider.PopulateMissing(tokens);
                userAuth.PopulateMissing(oauthProvider);

                redis.Store(userAuth);
                redis.Store(oauthProvider);
                redis.AddItemToSet(IndexUserAuthAndProviderIdsSet(userAuth.Id), oauthProvider.Id.ToString());

                return userAuth.Id.ToString();
            }
        }
开发者ID:benaston,项目名称:ServiceStack,代码行数:41,代码来源:RedisAuthRepository.cs


示例13: CreateUserAuth

		public UserAuth CreateUserAuth(UserAuth newUser, string password)
		{
			ValidateNewUser(newUser, password);

			AssertNoExistingUser(mongoDatabase, newUser);

			var saltedHash = new SaltedHash();
			string salt;
			string hash;
			saltedHash.GetHashAndSaltString(password, out hash, out salt);
            var digestHelper = new DigestAuthFunctions();
            newUser.DigestHA1Hash = digestHelper.CreateHa1(newUser.UserName, DigestAuthProvider.Realm, password);
			newUser.PasswordHash = hash;
			newUser.Salt = salt;
			newUser.CreatedDate = DateTime.UtcNow;
			newUser.ModifiedDate = newUser.CreatedDate;

			var collection = mongoDatabase.GetCollection<UserAuth>("UserAuth");
			collection.Insert(newUser);
			// todo - update id here
			return newUser;
		}
开发者ID:manuelnelson,项目名称:ServiceStack.Contrib,代码行数:22,代码来源:MongoDBAuthRepository.cs


示例14: CreateUserAuth

        public UserAuth CreateUserAuth(UserAuth newUser, string password)
        {
            ValidateNewUser(newUser, password);

            return dbFactory.Run(db => {
                AssertNoExistingUser(db, newUser);

                string salt;
                string hash;
                passwordHasher.GetHashAndSaltString(password, out hash, out salt);
                var digestHelper = new DigestAuthFunctions();
                newUser.DigestHa1Hash = digestHelper.CreateHa1(newUser.UserName, DigestAuthProvider.Realm, password);
                newUser.PasswordHash = hash;
                newUser.Salt = salt;
                newUser.CreatedDate = DateTime.UtcNow;
                newUser.ModifiedDate = newUser.CreatedDate;

                db.Insert(newUser);

                newUser = db.GetById<UserAuth>(db.GetLastInsertId());
                return newUser;
            });
        }
开发者ID:CITnDev,项目名称:ServiceStack,代码行数:23,代码来源:OrmLiteAuthRepository.cs


示例15: CreateUserAuth

        public UserAuth CreateUserAuth(UserAuth newUser, string password)
        {
            ValidateNewUser(newUser, password);

            return dbFactory.Exec(dbCmd => {
                AssertNoExistingUser(dbCmd, newUser);

                var saltedHash = new SaltedHash();
                string salt;
                string hash;
                saltedHash.GetHashAndSaltString(password, out hash, out salt);

                newUser.PasswordHash = hash;
                newUser.Salt = salt;
                newUser.CreatedDate = DateTime.UtcNow;
                newUser.ModifiedDate = newUser.CreatedDate;

                dbCmd.Insert(newUser);

                newUser = dbCmd.GetById<UserAuth>(dbCmd.GetLastInsertId());
                return newUser;
            });
        }
开发者ID:watertree,项目名称:ServiceStack,代码行数:23,代码来源:OrmLiteAuthRepository.cs


示例16: UpdateUserAuth

        public UserAuth UpdateUserAuth(UserAuth existingUser, UserAuth newUser, string password)
        {
            ValidateNewUser(newUser, password);

            return dbFactory.Exec(dbCmd => {
                AssertNoExistingUser(dbCmd, newUser, existingUser);

                var hash = existingUser.PasswordHash;
                var salt = existingUser.Salt;
                if (password != null)
                {
                    var saltedHash = new SaltedHash();
                    saltedHash.GetHashAndSaltString(password, out hash, out salt);
                }

                newUser.Id = existingUser.Id;
                newUser.PasswordHash = hash;
                newUser.Salt = salt;
                newUser.CreatedDate = existingUser.CreatedDate;
                newUser.ModifiedDate = DateTime.UtcNow;

                dbCmd.Save(newUser);

                return newUser;
            });
        }
开发者ID:watertree,项目名称:ServiceStack,代码行数:26,代码来源:OrmLiteAuthRepository.cs


示例17: UpdateUserAuth

        public UserAuth UpdateUserAuth(UserAuth existingUser, UserAuth newUser, string password)
        {
            ValidateNewUser(newUser, password);

            using (var redis = factory.GetClient())
            {
                AssertNoExistingUser(redis, newUser, existingUser);

                if (existingUser.UserName != newUser.UserName && existingUser.UserName != null)
                {
                    redis.RemoveEntryFromHash(IndexUserNameToUserId, existingUser.UserName);
                }
                if (existingUser.Email != newUser.Email && existingUser.Email != null)
                {
                    redis.RemoveEntryFromHash(IndexEmailToUserId, existingUser.Email);
                }

                var hash = existingUser.PasswordHash;
                var salt = existingUser.Salt;
                if (password != null)
                {
                    var saltedHash = new SaltedHash();
                    saltedHash.GetHashAndSaltString(password, out hash, out salt);
                }
                // If either one changes the digest hash has to be recalculated
                var digestHash = existingUser.DigestHA1Hash;
                if (password != null || existingUser.UserName != newUser.UserName)
                {
                    var digestHelper = new DigestAuthFunctions();
                    digestHash = digestHelper.CreateHa1(newUser.UserName, DigestAuthProvider.Realm, password);
                }

                newUser.Id = existingUser.Id;
                newUser.PasswordHash = hash;
                newUser.Salt = salt;
                newUser.CreatedDate = existingUser.CreatedDate;
                newUser.ModifiedDate = DateTime.UtcNow;

                var userId = newUser.Id.ToString(CultureInfo.InvariantCulture);
                if (!newUser.UserName.IsNullOrEmpty())
                    redis.SetEntryInHash(IndexUserNameToUserId, newUser.UserName, userId);
                if (!newUser.Email.IsNullOrEmpty())
                    redis.SetEntryInHash(IndexEmailToUserId, newUser.Email, userId);

                redis.Store(newUser);

                return newUser;
            }
        }
开发者ID:grammarware,项目名称:fodder,代码行数:49,代码来源:src_ServiceStack_ServiceInterface_Auth_RedisAuthRepository.cs


示例18: ValidateNewUser

		private void ValidateNewUser(UserAuth newUser, string password)
		{
			password.ThrowIfNullOrEmpty("password");

			ValidateNewUserWithoutPassword(newUser);
		}
开发者ID:JackFong,项目名称:ServiceStack.Contrib,代码行数:6,代码来源:RavenUserAuthRepository.cs


示例19: SaveUserAuth

		public void SaveUserAuth(UserAuth userAuth)
		{
            using (_session)
			{
				userAuth.ModifiedDate = DateTime.UtcNow;
				if (userAuth.CreatedDate == default(DateTime))
					userAuth.CreatedDate = userAuth.ModifiedDate;

                _session.Store(userAuth);
                _session.SaveChanges();
			}
		}
开发者ID:JackFong,项目名称:ServiceStack.Contrib,代码行数:12,代码来源:RavenUserAuthRepository.cs


示例20: LoadUserAuth

		private void LoadUserAuth(IAuthSession session, UserAuth userAuth)
		{
			if (userAuth == null) return;

			var idSesije = session.Id;  //first record session Id (original session Id)
			session.PopulateWith(userAuth); //here, original sessionId is overwritten with facebook user Id
			session.Id = idSesije;  //we return Id of original session here

			session.UserAuthId = userAuth.Id.ToString(CultureInfo.InvariantCulture);
			session.ProviderOAuthAccess = GetUserOAuthProviders(session.UserAuthId)
				.ConvertAll(x => (IOAuthTokens)x);

		}
开发者ID:JackFong,项目名称:ServiceStack.Contrib,代码行数:13,代码来源:RavenUserAuthRepository.cs



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# Markdown.MarkdownPage类代码示例发布时间:2022-05-26
下一篇:
C# Redis.RedisClient类代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap