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


C# IMembershipService.AddUser方法代码示例

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


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

示例1: AccountModule


//.........这里部分代码省略.........
                }

                return View["register"];
            };

            Post["/create"] = _ =>
            {
                if (Context.CurrentUser != null)
                {
                    return Response.AsRedirect("~/");
                }

                string username = Request.Form.username;
                string email = Request.Form.email;
                string password = Request.Form.password;
                string confirmPassword = Request.Form.confirmPassword;

                if (String.IsNullOrEmpty(username))
                {
                    this.AddValidationError("username", "Name is required");
                }

                if (String.IsNullOrEmpty(email))
                {
                    this.AddValidationError("email", "Email is required");
                }

                ValidatePassword(password, confirmPassword);

                try
                {
                    if (ModelValidationResult.IsValid)
                    {
                        ChatUser user = membershipService.AddUser(username, email, password);
                        return this.CompleteLogin(authenticationTokenService, user);
                    }
                }
                catch (Exception ex)
                {
                    this.AddValidationError("_FORM", ex.Message);
                }

                return View["register"];
            };

            Post["/unlink"] = param =>
            {
                if (Context.CurrentUser == null)
                {
                    return HttpStatusCode.Forbidden;
                }

                string provider = Request.Form.provider;
                ChatUser user = repository.GetUserById(Context.CurrentUser.UserName);

                if (user.Identities.Count == 1 && !user.HasUserNameAndPasswordCredentials())
                {
                    this.AddAlertMessage("error", "You cannot unlink this account because you would lose your ability to login.");
                    return Response.AsRedirect("~/account/#identityProviders");
                }

                var identity = user.Identities.FirstOrDefault(i => i.ProviderName == provider);

                if (identity != null)
                {
                    repository.Remove(identity);
开发者ID:ucdavis,项目名称:JabbR,代码行数:67,代码来源:AccountModule.cs

示例2: AccountModule


//.........这里部分代码省略.........
                if (IsAuthenticated)
                {
                    return Response.AsRedirect("~/");
                }

                ViewBag.requirePassword = requirePassword;

                string username = Request.Form.username;
                string email = Request.Form.email;
                string password = Request.Form.password;
                string confirmPassword = Request.Form.confirmPassword;

                if (String.IsNullOrEmpty(username))
                {
                    this.AddValidationError("username", "Name is required");
                }

                if (String.IsNullOrEmpty(email))
                {
                    this.AddValidationError("email", "Email is required");
                }

                try
                {
                    if (requirePassword)
                    {
                        ValidatePassword(password, confirmPassword);
                    }

                    if (ModelValidationResult.IsValid)
                    {
                        if (requirePassword)
                        {
                            ChatUser user = membershipService.AddUser(username, email, password);

                            return this.SignIn(user);
                        }
                        else
                        {
                            // Add the required claims to this identity
                            var identity = Principal.Identity as ClaimsIdentity;

                            if (!Principal.HasClaim(ClaimTypes.Name))
                            {
                                identity.AddClaim(new Claim(ClaimTypes.Name, username));
                            }

                            if (!Principal.HasClaim(ClaimTypes.Email))
                            {
                                identity.AddClaim(new Claim(ClaimTypes.Email, email));
                            }

                            return this.SignIn(Principal.Claims);
                        }
                    }
                }
                catch (Exception ex)
                {
                    this.AddValidationError("_FORM", ex.Message);
                }

                return View["register"];
            };

            Post["/unlink"] = param =>
            {
开发者ID:phillip-haydon,项目名称:JabbR,代码行数:67,代码来源:AccountModule.cs

示例3: AccountModule


//.........这里部分代码省略.........
                if (IsAuthenticated)
                {
                    return this.AsRedirectQueryStringOrDefault("~/");
                }

                ViewBag.requirePassword = requirePassword;

                string username = Request.Form.username;
                string email = Request.Form.email;
                string password = Request.Form.password;
                string confirmPassword = Request.Form.confirmPassword;

                if (String.IsNullOrEmpty(username))
                {
                    this.AddValidationError("username", LanguageResources.Authentication_NameRequired);
                }

                if (String.IsNullOrEmpty(email))
                {
                    this.AddValidationError("email", LanguageResources.Authentication_EmailRequired);
                }

                try
                {
                    if (requirePassword)
                    {
                        ValidatePassword(password, confirmPassword);
                    }

                    if (ModelValidationResult.IsValid)
                    {
                        if (requirePassword)
                        {
                            ChatUser user = membershipService.AddUser(username, email, password);

                            return this.SignIn(user);
                        }
                        else
                        {
                            // Add the required claims to this identity
                            var identity = Principal.Identity as ClaimsIdentity;

                            if (!Principal.HasClaim(ClaimTypes.Name))
                            {
                                identity.AddClaim(new Claim(ClaimTypes.Name, username));
                            }

                            if (!Principal.HasClaim(ClaimTypes.Email))
                            {
                                identity.AddClaim(new Claim(ClaimTypes.Email, email));
                            }

                            return this.SignIn(Principal.Claims);
                        }
                    }
                }
                catch (Exception ex)
                {
                    this.AddValidationError("_FORM", ex.Message);
                }

                return View["register"];
            };

            Post["/unlink"] = param =>
            {
开发者ID:yadyn,项目名称:JabbR,代码行数:67,代码来源:AccountModule.cs

示例4: LoginModule

        public LoginModule(IMembershipService membershipService,
                               IUserAuthenticator authenticator)
        {
            //Get the login page.
            Get["/login"] = _ =>
            {
                string returnUrl = Request.Query.returnUrl;
                if (IsAuthenticated)
                {
                    return Response.AsRedirect(returnUrl);
                }
                var model = new LoginViewModel
                {
                    ReturnUrl = returnUrl
                };

                Model.LoginModel = model;
                return View["login", Model];
            };

            Get["/logout"] = parameters =>
            {
                return View["login"];
            };

            //Login.
            Post["/login"] = parameters =>
            {
                var model = this.Bind<LoginViewModel>();

                //If user is already authenticated redirect them to the returnUrl.
                if (IsAuthenticated)
                    return Response.AsRedirect(model.ReturnUrl);

                var result = this.Validate(model);

                if (!result.IsValid)
                {
                    SaveErrors(result.Errors);
                    Model.LoginModel = model;
                    return View["login", Model];
                }

                IList<Claim> claims;
                if (authenticator.TryAuthenticateUser(model.Username, model.Password, out claims))
                {
                    return this.SignIn(claims, model.ReturnUrl);
                }
                Page.ValidationSummary = "Your username or password was incorrect";
                Model.LoginModel = model;
                return View["login", Model];
            };

            Get["/register"] = parameters =>
            {
                var registerModel = new RegisterViewModel();
                var returnUrl = Request.Query.returnUrl;
                registerModel.ReturnUrl = returnUrl;
                Model.RegisterModel = registerModel;
                return View["register", Model];
            };
            //Register a new user.
            Post["/register"] = _ =>
            {
                var registerModel = this.Bind<RegisterViewModel>();
                Model.RegisterModel = registerModel;
                var result = this.Validate(registerModel);
                if (!result.IsValid)
                {
                    SaveErrors(result.Errors);
                    return View["register", Model];
                }
                var user = new EmailUser
                {
                    Email = registerModel.Email,
                    FriendlyName = registerModel.Name,
                    Id = registerModel.UserName,
                    IsAdmin = false,
                    LoginType = "Default",
                    Name = registerModel.UserName,
                    Password = registerModel.Password
                };
                user = membershipService.AddUser(user);
                return this.SignIn(user, registerModel.ReturnUrl);
            };
        }
开发者ID:joshuadeanhall,项目名称:EmailReceiverTwo,代码行数:86,代码来源:LoginModule.cs

示例5: AuthenticationModule

        public AuthenticationModule(IAuthenticationService authService, IMembershipService membershipService)
        {
            Post["/"] = _ =>
            {
                string userToken;
                if (Request.Cookies.TryGetValue(Constants.UserTokenCookie, out userToken) &&
                    !String.IsNullOrEmpty(userToken) &&
                    authService.IsUserAuthenticated(userToken))
                {
                    return 200;
                }

                return 403;
            };

            Post["/login"] = param =>
            {
                string name = Request.Form.user;
                string password = Request.Form.password;

                var response = Response.AsRedirect("/");

                if (!String.IsNullOrEmpty(name) &&
                   !String.IsNullOrEmpty(password))
                {
                    ChatUser user = membershipService.AuthenticateUser(name, password);
                    string userToken = authService.GetAuthenticationToken(user);
                    var cookie = new NancyCookie(Constants.UserTokenCookie, userToken, httpOnly: true)
                    {
                        Expires = DateTime.Now + TimeSpan.FromDays(30)
                    };

                    response.AddCookie(cookie);
                }

                return response;
            };

            Post["/register"] = param =>
            {
                string name = Request.Form.user;
                string password = Request.Form.password;

                var response = Response.AsRedirect("/");

                if (!String.IsNullOrEmpty(name) &&
                   !String.IsNullOrEmpty(password))
                {
                    ChatUser user = membershipService.AddUser(name, password);
                    string userToken = authService.GetAuthenticationToken(user);
                    var cookie = new NancyCookie(Constants.UserTokenCookie, userToken, httpOnly: true)
                    {
                        Expires = DateTime.Now + TimeSpan.FromDays(30)
                    };

                    response.AddCookie(cookie);
                }

                return response;
            };

            Post["/logout"] = _ =>
            {
                var response = Response.AsJson(new { success = true });

                response.AddCookie(new NancyCookie(Constants.UserTokenCookie, null)
                {
                    Expires = DateTime.Now.AddDays(-1)
                });

                return response;
            };
        }
开发者ID:danzel,项目名称:JabbR,代码行数:73,代码来源:AuthenticationModule.cs


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